Shell腳本一鍵安裝Nginx服務(wù)自定義Nginx版本
經(jīng)常安裝Nginx服務(wù),有時候要安裝的版本不同就很煩,然后寫了一個可以自定義Nginx版本的腳本(嗯,在朋友的幫助下,哈哈)。
話不多少,內(nèi)容如下:
#!/bin/bash #Nginx版本 ver=nginx-1.$2.$3 # 安裝目錄 in_dir="/app/$ver" #軟件存放目錄 dl_dir="/server" #最終運行目錄 run_dir=/app/nginx if [ ! -d $in_dir ];then mkdir -p $in_dir fi if [ ! -d $dl_dir ];then mkdir $dl_dir fi ##安裝nginx function nginx_install (){ yum -y install gcc gcc-c++ pcre-devel zlib-devel openssl-devel if [ $? -eq 0 ] then curl "http://nginx.org/download/$ver.tar.gz" -o $dl_dir/$ver.tar.gz && \ useradd -M -s /sbinlogin nginx && \ tar xf $dl_dir/$ver.tar.gz -C $dl_dir && \ cd $dl_dir/$ver ./configure --prefix=$in_dir --user=nginx --group=nginx && \ make && make install fi } function nginx_init (){ ln -s $in_dir $run_dir } function nginx_start (){ ps -ef |grep nginx |grep master if [ $? = 0 ];then echo "Nginx is Running." else if [ ! -e $run_dir/sbin/nginx ];then nginx_init fi $run_dir/sbin/nginx sleep 5 ps -ef |grep nginx |grep master if [ $? = 0 ];then echo "Nginx Start successfully." else echo "Nginx Failed to Start." fi fi } function nginx_stop (){ $run_dir/sbin/nginx -s quit sleep 5 ps -ef |grep nginx |grep master if [ $? != 0 ];then echo "Nginx Stop successfully." else echo "Nginx Failed to Stop." fi } function nginx_reload (){ $run_dir/sbin/nginx -s reload } main(){ nginx_install nginx_start } case $1 in install) nginx_install nginx_init nginx_start ;; start) nginx_start ;; stop) nginx_stop ;; restart) nginx_stop nginx_start ;; reload) nginx_reload ;; *) echo "使用方法" echo "$0 start|stop|restart|reload" echo "安裝方法" echo "$0 install <版本號> <小版本號> 例如:$0 install 19 3 下載的就是1.19.3版本 " ;; esac #if [ $# = 0 ];then # echo "使用 $0 后面加上小版本號進行部署:例如 $0 19 3 下載的就是1.19.3版本" #else # echo "下載版本:1.$2.$3" # echo "安裝目錄:$in_dir" # echo "下載目錄:$dl_dir" # echo "Nginx installation..." # nginx_install # if [ $? != 0 ];then ## echo "Ngins installation Failed." # else # nginx_init # nginx_start # fi #fi
這個腳本可以實現(xiàn)用戶自己選擇想要安裝的Nginx版本
比如我想裝一個nginx-1.16.1版本,可以這樣做:
sh install_nginx.sh install 16 1
當然,如果你開始并不知道使用方法,直接執(zhí)行了腳本,沒關(guān)系,有提示:
[root@localhost ~]# sh install_nginx.sh 使用方法 install_nginx.sh start|stop|restart|reload 安裝方法 install_nginx.sh install <版本號> <小版本號> 例如:install_nginx.sh install 19 3 下載的就是1.19.3版本
瞧,不光告訴了你怎么使用它安裝服務(wù),還可以直接運行腳本進行管理當你剛安裝完成的時候默認是啟動的,你可以使用腳本進行關(guān)閉或重啟:
[root@localhost ~]# sh install_nginx.sh stop Nginx Stop successfully. [root@localhost ~]# sh install_nginx.sh reload
然后你可以修改配置后進行開啟:
[root@localhost ~]# sh install_nginx.sh start root 4236 1 0 14:23 ? 00:00:00 nginx: master process /app/nginx/sbin/nginx Nginx Start successfully.
查看它的狀態(tài),看它是否在運行:
[root@localhost ~]# ss -utpln | grep nginx tcp LISTEN 0 128 *:80 *:* users:(("nginx",pid=4238,fd=6),("nginx",pid=4236,fd=6))
我們用瀏覽器來訪問一下吧!
可以看到Nginx的歡迎頁面,說明我們成功了!
以上就是Shell腳本一鍵安裝Nginx服務(wù)自定義Nginx版本的詳細內(nèi)容,更多關(guān)于Shell腳本安裝Nginx服務(wù)自定義Nginx的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
linux shell實現(xiàn)轉(zhuǎn)換輸入日期的格式
對于用戶輸入日期的合法性檢驗,是個很重要的問題,這個例子是簡單得取得用戶輸入的日期,并轉(zhuǎn)換為相應(yīng)的格式,但不完美,原因請看后文2016-08-08Shell腳本編寫Nagios插件監(jiān)控程序資源占用
這篇文章主要介紹了Shell腳本編寫Nagios插件監(jiān)控程序資源占用,本文先是給出了需求和需求分析,然后給出實現(xiàn)代碼,需要的朋友可以參考下2014-12-12Linux里awk中split函數(shù)的用法小結(jié)
The awk function split(s,a,sep) splits a string s into an awk array a using the delimiter sep2013-03-03