天天看點

Nginx 安裝更新腳本

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

第一次釋出文章,希望各位大俠多多指點

Nginx 安裝更新腳本

繼續閱讀