经过很多次安装lnmp环境,逐渐写成shell脚本,但每次都要到nginx、php、mysql官网去看看最新稳定版,下载,再安装,很费劲。
现在终于实现:
1、自动到nginx、php、mysql官网检查最新稳定版,自动下载安装。
2、支持离线安装
3、无需root、sudo权限,更安全。
4、增加php-fpm.sh、mysqld.sh,与nginx使用相同的控制方法。
启动nginx:./nginx/nginx.sh 关闭nginx:./nginx/nginx.sh -s stop 重启nginx:./nginx/nginx.sh -s reload 启动php:./php/php-fpm.sh 关闭php:./php/php-fpm.sh -s stop 重启php:./php/php-fpm.sh -s reload 启动mysql:./mysql/mysqld.sh 关闭mysql:./mysql/mysqld.sh -s stop
项目地址:http://code.taobao.org/p/lnmp/
脚本下载地址: http://code.taobao.org/svn/lnmp/trunk/src/lnmp.sh脚本下载地址短网址: http://dwz.cn/lnmp-sh
使用步骤:
wget http://dwz.cn/lnmp-sh chmod +x lnmp-sh ./lnmp-sh离线安装:
./lnmp-sh -i offline
原理介绍:
#!/bin/bash #检测nginx版本 echo '在线检查nginx' wget -nv http://nginx.org/en/download.html -O nginx.html #nginx 官方下载页面。格式为 ...<h4>Stable version</h4></center><table width="100%"><tr><td width="20%"><a href="/en/CHANGES-1.2">CHANGES-1.2</a></td><td width="20%"><a href="/download/nginx-1.2.7.tar.gz">nginx-1.2.7</a>... html=$(cat nginx.html) #截取字符串,从左向右截取第一个string后的字符串,得到</h4></center><table width="100%"><tr><td width="20%"><a href="/en/CHANGES-1.2">CHANGES-1.2</a></td><td width="20%"><a href="/download/nginx-1.2.7.tar.gz">nginx-1.2.7</a>... tmp=${html#*'Stable version'} #从右向左截取最后一个string后的字符串,得到</h4></center><table width="100%"><tr><td width="20%"><a href="/en/CHANGES-1.2">CHANGES-1.2</a></td><td width="20%"><a href="/download/nginx-1.2.7 tmp2=${tmp%%'.tar.gz'*} #从左向右截取最后一个string后的字符串,得到1.2.7 nginxVersion=${tmp2##*'nginx-'} echo 'nginx:' $nginxVersion
当nginx、php、mysql 官网html格式修改时,检测版本会失败,本脚本将跟进升级。
转载于:https://www.cnblogs.com/sink_cup/archive/2013/05/24/lnmp.html
相关资源:数据结构—成绩单生成器