Nginx是當下最流行的WEB伺服器,但nginx的安裝是源碼包安裝并且需要安裝一些庫檔案以保證程式正确運作。該腳本還支援Nginc平滑更新。
源碼包:nginx-1.7.10.tar.gz nginx-1.8.0.tar.gz
#!bin/bash
#檢查YUM庫是否正常
yum clean all >/dev/null
yum repolist &>/tmp/yum.tmp
NUM=`tail -1 /tmp/yum.tmp | awk '{;print $NF}' | sed 's/,//' `
if [ $NUM -eq 0 ];then
yum repolist >/tmp/Install.log
echo "Yum is ERROR , you can read /tmp/Install.log"
exit 0
else
echo "Yum is OK!"
rm -rf /tmp/Install.log
fi
#安裝nginx所需的開發環境
yum -y install gcc pcre-devel openssl-devel &>/dev/null
#配置安裝路徑和安裝配置
CONF="./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module"
#檢查80端口是否被占用
check-port80(){
LISTEN=`netstat -anptu | grep 80 | awk '{print $6}'`
if [ "$LISTN" == "LISTEN" ];then
echo "80端口被占用,請關閉80端口"
exit 1
elif [ -f "/usr/local/nginx/sbin/nginx" ];then
echo "nginx 已存在"
exit 2
}
#nginx安裝函數
nginx-install(){
check-port80
$CONF >Install.log
make &>/dev/null
make install &>/dev/null
echo "安裝完成!"
#nginx更新函數
nginx-upgrade(){
$CONF >Upgrade.log
mv /usr/local/nginx/sbin/nginx{,old}
cd objs/
cp nginx /usr/local/nginx/sbin/
make upgrade >>Upgrade.log
nginx -v
echo "更新完成!"
#建立nginx使用者和安裝目錄
useradd -s /sbin/nologin nginx &>/dev/null
mkdir /usr/local/nginx &>/dev/null
#配置安裝選項 -i 安裝; -u 更新;
case $1 in
-i)
tar -xf nginx-1.7.10.tar.gz
cd nginx-1.7.10
nginx-install
ln -s /usr/local/nginx/sbin/nginx /usr/sbin
exit 4
;;
-u)
tar -xf nginx-1.8.0.tar.gz
cd nginx-1.8.0
nginx-upgrade
exit 5
*)
echo "Input -i Install;-u upgrade"
esac
第一次釋出文章,希望各位大俠多多指點
