經過很多次安裝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-shchmod +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.7tmp2=${tmp%%'.tar.gz'*}#從左向右截取最後一個string後的字串,得到1.2.7nginxVersion=${tmp2##*'nginx-'}echo 'nginx:' $nginxVersion
當nginx、php、mysql 官網html格式修改時,檢測版本會失敗,本指令碼將跟進升級。