1. 程式人生 > >源碼包安裝和快捷的管理nginx,自定義命令管理服務

源碼包安裝和快捷的管理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 #安裝


技術分享圖片


執行腳本後校驗結果:

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

# /usr/local/nginx/sbin/nginx

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

技術分享圖片 技術分享圖片

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

提示: 上面安裝的 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


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