源碼包安裝和快捷管理nginx,自定義命令管理服務

安裝線上的生產服務器軟件包時大多會用源碼安裝,這是因爲源碼安裝可以選擇最新的軟件包,而Linux系統自帶的軟件包一般都是最穩定的版本,但不能保證是最新的。源碼安裝可以自行調整編譯參數,最大化地定製安裝結果。相對而言,源碼安裝的性能是最優異的。但該源碼裝的軟件不能使用 systemctl 管理,啓動,關閉,查看狀態,重啓比較麻煩,現在編寫一個啓動腳本,可以簡單快捷的管理該軟件

 

環境Red Hat Enterprise Linux Server release 7.0

安裝源碼包nginx-1.8.0.tar.gz放在/下

說明:nginx 是與 httpd 類似的 web 服務器軟件,使用源碼編譯的方式安裝該軟件,該軟件有幾個依賴包:gcc,zlib-devel,pcre-devel

 

一.新建一個腳本

vim /root/test.sh

二.編寫腳本內容

#!/bin/bash                                              #腳本聲明使用哪種解釋器

      yum -y install gcc pcre-devel openssl-devel        #安裝依賴包

tar -xf /root/nginx-1.8.0.tar.gz                       #解壓源碼包到當前文件夾

cd /root/nginx-1.8.0                                    #進入目錄

./configure                                       #對即將安裝的軟件進行配置

      make                                              #編譯成二進制文件

      make install                                      #安裝


1.png


執行腳本後校驗結果:

檢查/usr/local/nginx/目錄是否有安裝好的程序,在關閉 httpd 的情況下,執行如下命令啓動 nginx 服務:

# /usr/local/nginx/sbin/nginx

客戶端使用瀏覽器可以訪問到默認的網站頁面firefox  127.0.0.1

2.png

三.定義開啓服務的函數,新建一個腳本

提示: 上面安裝的 nginx 軟件,可以使用如下命令管理服務:
/usr/local/nginx/sbin/nginx
//啓動服務,啓動服務後會自動產生/usr/local/nginx/logs/nginx.pid 文件
/usr/local/nginx/sbin/nginx -s stop //關閉服務,關閉服務後/usr/local/nginx/logs/nginx.pid 文件會被自動刪除
但該源碼裝的軟件不能使用 systemctl 管理,啓動,關閉,查看狀態,重啓比較麻煩,現在編寫一個啓動腳本,可以簡單快
捷的管理該軟件

 vim /root/test1.sh

腳本內容

#!/bin/bash

PID=/usr/local/nginx/logs/nginx.pid

  start(){

if [ -f

$PID ];then

echo "服務已經啓動"

else

/usr/local/nginx/sbin/nginx

fi

}

#定義關閉服務的函數

stop(){

if

[ ! -f $PID ];thenecho "該服務已經關閉"

else

/usr/local/nginx/sbin/nginx -s stop

fi

}

#定義查看狀態的函數

status(){

if [ -f

$PID ];then

echo "該服務已啓動"

else

echo "該服務已經關閉"

fi

}

#定義主代碼,判斷用戶的位置參數,根據用戶的不同參數,執行不同的函數代碼

case $1 in

start)

start;;

stop)

stop;;

restart)

stopstart;;

status)

status;;

*)

echo "用法$0 [start|stop|restart|status] "

Esac

 

四.驗證腳本:

/root/test1.sh start

/root/test1.sh stop

/root/test1.sh restart

/root/test1.sh status

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章