LNMP Shell脚本发布
#!/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脚本发布的更多相关文章
- mac链接linux终端,shell脚本发布代码
项目的业务需求:从mac端直接连上linux服务终端,并发布相关的代码 一.使用ssh链接上linux服务端 1.cd ~/.ssh 2.vi config,按照下面的内容配置config文件,然后: ...
- 【Shell】使用Shell脚本发布项目
第一次写Shell脚本,没经验,是直接写呢,还是要走流程( ̄▽ ̄)~* ---------------------------------------------------------------- ...
- springboot打包不同环境配置与shell脚本部署
本篇和大家分享的是springboot打包并结合shell脚本命令部署,重点在分享一个shell程序启动工具,希望能便利工作: profiles指定不同环境的配置 maven-assembly-plu ...
- 解决Jenkins用shell脚本部署后,Jenkins自动杀掉启衍生出来的守护进程
Jenkins部署java项目遇到的问题: 1.Jenkins执行构建后,需要手动执行startup.sh,站点才能正常访问 产生原因: shell脚本发布时,会衍生进程,Jenkins默认会自动杀掉 ...
- Shell脚本,自动化发布tomcat项目【转载】
Shell脚本,自动化发布tomcat项目脚本. 1. vko2c_auto_build_by_scp.sh 文件内容: #---------------------start------------ ...
- Shell脚本,自动化发布tomcat项目【转】
Shell脚本,自动化发布tomcat项目脚本. 1. vko2c_auto_build_by_scp.sh 文件内容: #---------------------start------------ ...
- Shell脚本一键安装LNMP环境
https://sourceforge.net/projects/opensourcefile/files/ Nginx是一款高性能的HTTP和反向代理服务器.Nginx在反向代理,Rewrite规则 ...
- 一个自动安装LNMP的简洁Shell脚本
此脚本在生产服务器上使用了一年多,本脚本崇尚简单唯美,只需要一个脚本就可以在任何一台有网络的服务器上自动配置LNMP.本脚本会在脚本执行目录下,建packages目录用于存放LNMP所需要的软件.大家 ...
- 结合docker发布后端项目(基于gradle包管理)的shell脚本
结合docker发布后端项目(基于gradle包管理)的shell脚本 本教程依据个人理解并经过实际验证为正确,特此记录下来,权当笔记. 注:基于linux操作系统(敏感信息都进行了处理) 目前主流的 ...
随机推荐
- LVS DR模式实践
client:192.168.4.10/24 proxy:192.168.4.5/24 VIP: 192.168.4.15/24 web1:192.168.4.100/24 VIP:192.168 ...
- 「考试」$5T$
啊因为最近题实在是好啊,只能四五篇四五篇写了. T1. 括号序列的确简单. 当我们维护左右$cnt$后. 到一个左括号的地方的话. 答案就是:$$\sum\limits_{i=1}^{min(lc,r ...
- Redis性能解析--Redis为什么那么快?
echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! Red ...
- window.getComputedStyle()方法的使用及其扩展
1.window.getComputedStyle()方法返回值 是一个可以获取当前元素所有最终使用的CSS属性值.返回的是一个CSS样式声明对象([object CSSStyleDeclaratio ...
- STL.h
最近老是被系统的一些STL卡到飞起,然后就手打了一个STL.h 库函数还没有打完,以后打新的还会再更,大家也可以使用,顺便帮我找一下bug,然后我再改进! template< typename ...
- 『题解』Codeforces446C DZY Loves Fibonacci Numbers
更好的阅读体验 Portal Portal1: Codeforces Portal2: Luogu Description In mathematical terms, the sequence \( ...
- IntelliJ IDEA 中设置左菜单字体, 编辑器字体和控制台的字体
IntelliJ IDEA 中设置左菜单字体大小 File-Settings,然后选择appearance,下图右侧红色边框中的内容即设置菜单的字体和大小 IntelliJ IDEA 中设置当前编 ...
- linux 相关指令
modinfo *.ko 显示驱动文件的信息.
- VUE 表格进入页面加载初始数据及操作后刷新数据
1.获取列表数据方法 2.打开页面默认加载数据 3.操作后重新获取数据
- python面向对象<三>
类属性.实例属性: class Tool(object): #属性(类属性)类对象(Tool) num = 0 #方法 def __init__(self,new_name): self.name = ...