nginx自動部署腳本
阿新 • • 發佈:2018-12-07
then gcc-c++ 安裝 port lib ice for 設置 dir
需要下載腳本中需要的jar包nginx.pcre和zlib,自己也上傳了一個自己部署的包
https://download.csdn.net/download/qq_17842663/10822976
因為csdn上傳的資源必須要設置一個需要下載分,好像不能免費下載了,可以自己去官網下載。
腳本如下(nginx.sh):
#!/bin/sh #/opt/hadoop # |________app # | |_____hadoop安裝路徑 # |_________data # |_________log ################################################################# App_User=ice-app App_Group=app #配置文件 Nginx_Conf_File=nginx.conf #啟動/停止腳本 Nginx_Shell=nginx.sh # 安裝文件 Nginx_Install_Fill=nginx-1.15.7.tar.gz # 應用主目錄 Nginx_Home=/opt/nginx # 應用安裝目錄 Nginx_App_Home=$Nginx_Home/app #應用程序數據目錄 Nginx_Data_Home=$Nginx_Home/data #應用程序日誌目錄 Nginx_Log_Home=$Nginx_Home/log #系統服務名稱 Nginx_ServiceName=nginx Nginx_Sbin=sbin Nginx_Logs=logs Nginx_Conf=conf Nginx_Server=$Nginx_App_Home/support-files/$Nginx_Shell #Nginx 導入導出文件目錄 Nginx_Files=$Nginx_Home/files #安裝文件 其他版本請到官網下載對應的安裝包 PCRE_Install_File_Name=pcre-8.42 Zlib_Install_File_Name=zlib-1.2.11 PCRE_Install_File=$PCRE_Install_File_Name.tar.gz Zlib_Install_File=$Zlib_Install_File_Name.tar.gz Nginx_Install_File_Name=nginx-1.15.7 Nginx_Install_File=$Nginx_Install_File_Name.tar.gz Nginx_Zip_File=$Nginx_Install_File_Name.zip # 啟動Nginx start(){ echo $"Starting Nginx Under User: "$App_User $Nginx_App_Home/$Nginx_Install_File_Name/$Nginx_Sbin/$Nginx_ServiceName || return 2 } # 停止Nginx stop(){ echo $"Stopping Nginx: " $Nginx_App_Home/$Nginx_Install_File_Name/$Nginx_Sbin/$Nginx_ServiceName -s stop || return 2 } # 重啟 reload(){ echo $"reload Nginx: " $Nginx_App_Home/$Nginx_Install_File_Name/$Nginx_Sbin/$Nginx_ServiceName -s reload || return 2 } # 解壓nginx install(){ echo "install nginx" # 創建目錄 sudo mkdir -p $Nginx_Home $Nginx_Data_Home $Nginx_Log_Home $Nginx_App_Home # 解壓文件 sudo unzip $Nginx_Zip_File cd $Nginx_Install_File_Name sudo tar zxvf $PCRE_Install_File -C $Nginx_App_Home sudo tar zxvf $Zlib_Install_File -C $Nginx_App_Home sudo tar zxvf $Nginx_Install_File -C $Nginx_App_Home sudo cp $Nginx_Conf_File $Nginx_App_Home/ cd .. # 移動App程序到App目錄 sudo cp $Nginx_Shell $Nginx_App_Home/$Nginx_Shell # 刪除文件 sudo rm -rf ./$Nginx_Install_File_Name sudo rm -rf ./$Zlib_Install_File sudo rm -rf ./$PCRE_Install_File sudo rm -rf ./$Nginx_Install_File # 安裝必要文件 sudo yum install -y gcc-c++ sudo yum install -y g++ sudo yum -y install openssl-devel # 安裝nginx cd $Nginx_App_Home/$Nginx_Install_File_Name sudo ./configure --with-pcre=$Nginx_App_Home/$PCRE_Install_File_Name --with-zlib=$Nginx_App_Home/$Zlib_Install_File_Name --prefix=$Nginx_App_Home/$Nginx_Install_File_Name --with-http_ssl_module sudo make && make install sudo mkdir -p $Nginx_App_Home/$Nginx_Install_File_Name/$Nginx_Logs echo "Installing Nginx...." # 創建用戶 egrep "^$App_Group" /etc/group >& /dev/null if [ $? -ne 0 ] then echo "Creating Application Group:"$App_Group sudo groupadd -f $App_Group fi #create user if not exists egrep "^$App_User" /etc/passwd >& /dev/null if [ $? -ne 0 ] then echo "Creating Application User:"$App_User sudo useradd -g $App_Group -d /home/$App_User -m -s /bin/false -r $app_User fi echo "Set The Permission For User:"$App_User sudo chown -R $App_User $Nginx_Home sudo chmod -R o+w $Nginx_Home # 建立軟連接 sudo rm -rf /etc/init.d/$Nginx_ServiceName sudo ln -s $Nginx_App_Home/$Nginx_Shell /etc/init.d/$Nginx_ServiceName # 添加服務到開機自動啟中 sed -i ‘$Nginx_App_Home/$Nginx_Install_File_Name/sbin/nginx‘ /etc/rc.d/rc.local echo ‘$Nginx_App_Home/$Nginx_Install_File_Name/sbin/nginx‘ >> /etc/rc.d/rc.local # 默認沒有執行的權限,需要授權 chmod +x /etc/rc.d/rc.local #將編寫好的htpasswd密碼文件和nginx.conf文件移動到conf配置目錄下. sudo mv $Nginx_App_Home/$Nginx_Install_File_Name/$Nginx_Conf/$Nginx_Conf_File $Nginx_App_Home/$Nginx_Install_File_Name/$Nginx_Conf/$Nginx_Conf_File.default sudo mv $Nginx_App_Home/$Nginx_Conf_File $Nginx_App_Home/$Nginx_Install_File_Name/$Nginx_Conf/ echo "Install Nginx 1.15.7 Success!" } # 卸載 uninstall(){ echo "Uninstall The Service Named:"$Nginx_ServiceName # 移除開機自啟動 sed -i ‘/sbin\/nginx/d‘ /etc/rc.d/rc.local # 刪除軟連接 sudo rm -rf /etc/init.d/$Nginx_ServiceName # 刪除文件 sudo rm -rf $Nginx_App_Home echo "Uninstall Nginx Complete!" } case "$1" in start) start #set +x ;; stop) stop ;; status) sudo $Nginx_Server status ;; reload) reload ;; install) install ;; uninstall) stop uninstall ;; *) echo $"Usage: $0 {start|stop|restart|install|uninstall}" ;; esac exit
如上是腳本內容,有關鍵的註釋,可以參考如上學習使用
nginx自動部署腳本