#!/bin/bash
#2019.7. :
#This author is DKS
#auto install nginx mysql php
###################################
NGINX_VER="1.12.0"
NGINX_SOFT="nginx-$NGINX_VER"
NGINX_SRC="${NGINX_SOFT}.tar.gz"
NGINX_DIR="/usr/local/nginx"
NGINX_URL="http://nginx.org/download/$NGINX_SRC" auto_install_nginx(){
if [ -d /usr/local/nginx ];then
break
fi
cd $HOME
yum -y install wget epel-release gcc-c++ zlib zlib-devel openssl-devel openssl pcre-devel curl-devel
wget -c $NGINX_URL
tar -xzvf $NGINX_SRC
cd $NGINX_SOFT
./configure --prefix=$NGINX_DIR
make
make install
systemctl stop firewalld.service
setenforce
/usr/local/nginx/sbin/nginx
}
#####################################################
MYSQL_SOFT="mysql-5.5.61"
MYSQL_SRC="${MYSQL_SOFT}.tar.gz"
MYSQL_DIR="/usr/local/mysql5"
MYSQL_URL="http://mirrors.163.com/mysql/Downloads/MySQL-5.5/mysql-5.5.61.tar.gz"
MYSQL_DATA="/data/mysql" auto_install_mysql(){
if [ -d /usr/local/mysql5 ];then
break
fi
cd $HOME
yum -y install cmake gcc-c++ ncurses-devel bison-devel cmake nucrses
wget -c $MYSQL_URL
tar -xzvf $MYSQL_SRC
cd $MYSQL_SOFT
mkdir -p $MYSQL_DATA
touch /tmp/mysql.sock
cmake . -DCMAKE_INSTALL_PREFIX=$MYSQL_DIR \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_DATADIR=$MYSQL_DATA \
-DSYSCONFDIR=/etc \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT= \
-DWITH_XTRADB_STORAGE_ENGINE= \
-DWITH_INNOBASE_STOAGE_ENGINE= \
-DWITH_BLACKHOLE_STORAGE_ENGINE= \
-DWITH_PARTITION_STORAGE_ENGINE= \
-DWITH_MYISAM_STORAGE_ENGINE= \
-DWITH_READLINE= \
-DENABLE_LOCAL_INFILE= \
-DWITH_EXTRA_CHARSES= \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_BIG_TABLES= \
-DWITH_DEGUG= useradd mysql
make && make install
cd $MYSQL_DIR
chown -R mysql:mysql .
\cp support-files/my-large.cnf
\cp support-files/mysql.server /etc/init.d/mysqld
chmod /etc/init.d/mysqld
chkconfig --add mysql
chkconfig --level mysqld on cd $MYSQL_DIR
./scripts/mysql_install_db --user=mysql --datadir=${MYSQL_DATA} --basedir=${MYSQL_DIR}
ln -s $MYSQL_DIR/bin/* /usr/bin/
service mysqld start
}
####################################################
PHP_VAR="5.6.28"
PHP_SOFT="php-${PHP_VAR}"
PHP_SRC="${PHP_SOFT}.tar.bz2"
PHP_URL="http://mirrors.sohu.com/php/$PHP_SRC"
PHP_DIR="/usr/local/php5"
auto_install_php(){
if [ -d /usr/local/php ];then
break
fi
cd $HOME
yum -y install gcc-c++ gd libjpeg-devel libjpeg libpng libpng-devel libxml2 libxml2-devel freetype freetype-devel bison bison-devel
wget -c $PHP_URL
tar -xjvf $PHP_SRC
cd $PHP_SOFT
./configure \
--prefix=${PHP_DIR} \
--enable-fpm \
--enable-debug \
--enable-mbstring \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-curl \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-config-file-path=${PHP_DIR}/etc
make
make install
\cp php.ini-development $PHP_DIR/etc/php.ini
\cp $PHP_DIR/etc/php-fpm.conf.default $PHP_DIR/etc/php-fpm.conf
\cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod 755 /etc/init.d/php-fpm
chkconfig --add php-fpm
service php-fpm start
}
TEMP=$(mktemp -t test.XXXXXX)
while [ 1 ]
do
dialog --menu "安装LNMP服务" 20 30 10 1 "安装Nginx" 2 "安装MySQL" 3 "安装PHP" 0 "退出" 2>$TEMP
if [ $? -eq 1 ];then
break
fi
selection=$(cat $TEMP)
case $selection in
1)
auto_install_nginx
;;
2)
auto_install_mysql
;;
3)
auto_install_php
;;
0)
break
;;
*)
dialog --msgbox "选择错误,请重选" 15 30
esac
done
rm -r $TEMP 2> /dev/null

LNMP Shell脚本发布的更多相关文章

  1. mac链接linux终端,shell脚本发布代码

    项目的业务需求:从mac端直接连上linux服务终端,并发布相关的代码 一.使用ssh链接上linux服务端 1.cd ~/.ssh 2.vi config,按照下面的内容配置config文件,然后: ...

  2. 【Shell】使用Shell脚本发布项目

    第一次写Shell脚本,没经验,是直接写呢,还是要走流程( ̄▽ ̄)~* ---------------------------------------------------------------- ...

  3. springboot打包不同环境配置与shell脚本部署

    本篇和大家分享的是springboot打包并结合shell脚本命令部署,重点在分享一个shell程序启动工具,希望能便利工作: profiles指定不同环境的配置 maven-assembly-plu ...

  4. 解决Jenkins用shell脚本部署后,Jenkins自动杀掉启衍生出来的守护进程

    Jenkins部署java项目遇到的问题: 1.Jenkins执行构建后,需要手动执行startup.sh,站点才能正常访问 产生原因: shell脚本发布时,会衍生进程,Jenkins默认会自动杀掉 ...

  5. Shell脚本,自动化发布tomcat项目【转载】

    Shell脚本,自动化发布tomcat项目脚本. 1. vko2c_auto_build_by_scp.sh 文件内容: #---------------------start------------ ...

  6. Shell脚本,自动化发布tomcat项目【转】

    Shell脚本,自动化发布tomcat项目脚本. 1. vko2c_auto_build_by_scp.sh 文件内容: #---------------------start------------ ...

  7. Shell脚本一键安装LNMP环境

    https://sourceforge.net/projects/opensourcefile/files/ Nginx是一款高性能的HTTP和反向代理服务器.Nginx在反向代理,Rewrite规则 ...

  8. 一个自动安装LNMP的简洁Shell脚本

    此脚本在生产服务器上使用了一年多,本脚本崇尚简单唯美,只需要一个脚本就可以在任何一台有网络的服务器上自动配置LNMP.本脚本会在脚本执行目录下,建packages目录用于存放LNMP所需要的软件.大家 ...

  9. 结合docker发布后端项目(基于gradle包管理)的shell脚本

    结合docker发布后端项目(基于gradle包管理)的shell脚本 本教程依据个人理解并经过实际验证为正确,特此记录下来,权当笔记. 注:基于linux操作系统(敏感信息都进行了处理) 目前主流的 ...

随机推荐

  1. 关于RocketMQ消息消费与重平衡的一些问题探讨

    其实最好的学习方式就是互相交流,最近也有跟网友讨论了一些关于 RocketMQ 消息拉取与重平衡的问题,我姑且在这里写下我的一些总结. ## 关于 push 模式下的消息循环拉取问题 之前发表了一篇关 ...

  2. 死磕 java线程系列之ForkJoinPool深入解析

    (手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本. 注:本文基于ForkJoinPool分治线程池类. 简介 随着在硬件上多核处理器的发展和广泛使用,并发编程成为 ...

  3. js判断是否微信浏览器、IE浏览器

    /*判断(微信)浏览器*/ function isWeiXin(){var ua = window.navigator.userAgent.toLowerCase();if(ua.match(/Mic ...

  4. 关于发送邮件,错误“命令顺序不正确。 服务器响应为:Error: need EHLO and AUTH first !”问题

    最近做了一个小程序,通过QQ邮箱服务器发送邮件, 代码写完后,运行调试,出现“命令顺序不正确. 服务器响应为:Error: need EHLO and AUTH first !”的问题, 上网查询发现 ...

  5. Jenkins集群下的pipeline实战

    关于Jenkins集群 在<快速搭建Jenkins集群>一文中,我们借助docker快速搭建了Jenkins集群,今天就在这个集群环境中创建pipeline任务,体验Jenkins集群下的 ...

  6. linux/ubuntu下最简单好用的python opencv安装教程 ( 解决 imshow, SIFT, SURF, CSRT使用问题)

    希望这篇文章能彻底帮你解决python opencv安装和使用中的常见问题. 懒人请直奔这一节, 一条命令安装 opencv 使用python-opencv常用的问题 在linux中使用python版 ...

  7. 易语言 史诗级Json处理 烁_Json模块!!!!

    大家好,我是键盘上的魔手 * “************************”* “** 欢迎使用烁Json模块 **”* “** 作者:键盘上的魔手 **”* “**  微信号:codervip ...

  8. go中的关键字-select

    1. select的使用 定义:在golang里头select的功能与epoll(nginx)/poll/select的功能类似,都是坚挺IO操作,当IO操作发生的时候,触发相应的动作. 1.1 一些 ...

  9. java编程思想第四版第十一章总结

    1. 容器类被分为两类:Collection和Map Collection是一个接口:包括: List接口: ArrayList:按照被插入顺序保存元素, 查询快, 增删改慢 LinkedList:按 ...

  10. jquery 向页面追加HTML

    jquery 向页面追加HTML append 函数 例子: <div id="append-test"></div> <script type=&q ...