一键安装lnmp:自动检测最新稳定版、无需root权限

经过很多次安装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格式修改时,检测版本会失败,本脚本将跟进升级。

posted @ 2013-05-24 17:39  sink_cup  阅读(3617)  评论(4编辑  收藏  举报
Creative Commons License

本站原创作品采用知识共享署名 3.0许可协议进行许可。