經過很多次安裝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格式修改時,檢測版本會失敗,本腳本將跟進升級。
