本篇文章為大家展示了shell如何編寫nginx服務(wù)啟動(dòng)程序,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
創(chuàng)新互聯(lián)建站2013年開創(chuàng)至今,先為沂水等服務(wù)建站,沂水等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為沂水企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。使用源碼包安裝的Nginx沒(méi)辦法使用"service nginx start"或"/etc/init.d/nginx start"進(jìn)行操作和控制,所以寫了以下的服務(wù)控制 腳本 。 |
選項(xiàng)有:
start 啟動(dòng) stop 停止 reload 重載 restart 重啟 status 狀態(tài) test 檢查配置文件
腳本 一
創(chuàng)建腳本文件并添加執(zhí)行權(quán)限
touch /etc/init.d/nginx chmod +x /etc/init.d/nginx
編寫腳本內(nèi)容
#!/bin/bash # chkconfig: - 85 15 # description: Nginx server control script # processname: nginx # config file: /usr/local/nginx/conf/nginx.conf # pid file: /usr/local/nginx/logs/nginx.pid # # eastmoney public tools # version: v1.0.0 # create by XuHoo, 2016-9-14 # # source function library . /etc/rc.d/init.d/functions NGINX_NAME="nginx" NGINX_PROG="/usr/local/sbin/nginx" NGINX_PID_FILE="/usr/local/nginx/logs/nginx.pid" NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" NGINX_LOCK_FILE="/var/lock/subsys/nginx.lock" # check current user [ "$USER" != "root" ] && exit 1 start() { status if [[ $? -eq 0 ]]; then echo $"Nginx (PID $(cat $NGINX_PID_FILE)) already started." return 1 fi echo -n $"Starting $NGINX_NAME: " daemon $NGINX_PROG -c $NGINX_CONF_FILE retval=$? echo [ $retval -eq 0 ] && touch $NGINX_LOCK_FILE return $retval } stop() { status if [[ $? -eq 1 ]]; then echo "Nginx server already stopped." return 1 fi echo -n $"Stoping $NGINX_NAME: " killproc $NGINX_PROG retval=$? echo [ $retval -eq 0 ] && rm -f $NGINX_LOCK_FILE return $retval } restart() { stop sleep 1 start retval=$? return $retval } reload() { echo -n $"Reloading $NGINX_NAME: " killproc $NGINX_PROG -HUP retval=$? echo return $retval } status() { netstat -anpt | grep "/nginx" | awk '{print $6}' &> /dev/null if [[ $? -eq 0 ]]; then if [[ -f $NGINX_LOCK_FILE ]]; then return 0 else return 1 fi fi return 1 } _status() { status if [[ $? -eq 0 ]]; then state=`netstat -anpt | grep "/nginx" | awk '{ print $6 }'` echo $"Nginx server status is: $state" else echo "Nginx server is not running" fi } test() { $NGINX_PROG -t -c $NGINX_CONF_FILE retval=$? return $retval } case "$1" in start) start ;; stop) stop ;; reload) reload ;; restart) restart ;; status) _status ;; test) test ;; *) echo "Usage: { start | stop | reload | restart | status | test }" exit 1 esac
將腳本添加到系統(tǒng)服務(wù)并設(shè)置開機(jī)啟動(dòng)
chkconfig --add nginx chkconfig --level 3 nginx on
腳本二
[root@localhost ~]# cd /usr/local/nginx/conf/ [root@localhost conf]# ls fastcgi.conf fastcgi_params koi-utf mime.types nginx.conf scgi_params uwsgi_params win-utf fastcgi.conf.default fastcgi_params.default koi-win mime.types.default nginx.conf.default scgi_params.default uwsgi_params.default
備份主配置文件
[root@localhost conf]# cp nginx.conf nginx.conf.origin [root@localhost conf]# vim nginx.conf 去除#pid logs/nginx.pid;前面#號(hào)
[root@localhost conf]# netstat -anpt | grep 80 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 19108/nginx [root@localhost conf]# kill -3 19108 [root@localhost conf]# netstat -anpt | grep 80 [root@localhost conf]# nginx [root@localhost conf]# netstat -anpt | grep 80 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 19864/nginx [root@localhost conf]# cd ../logs/ [root@localhost logs]# ls access.log error.log nginx.pid [root@localhost logs]# cat nginx.pid 19864
編輯寫服務(wù)腳本
[root@localhost ~]# vim /etc/init.d/nginx 可以使用的選項(xiàng)有: start 啟動(dòng) stop 停止 reload 重載 restart 重啟 status 狀態(tài) test 檢查配置文件
#!/bin/bash #chkconfig: 2345 99 20 #description:Nginx Server Control Scripts shell PROG="/usr/local/nginx/sbin/nginx" PIDF="/usr/local/nginx/logs/nginx.pid" case "$1" in start) if [ -f $PIDF ]; then echo "Nginx正在運(yùn)行…" else $PROG fi ;; stop) if [ -f $PIDF ]; then kill -3 $(cat $PIDF) rm -f $PIDF else echo "Nginx正在停止…" fi ;; restart) $0 stop $0 start ;; reload) if [ -f $PIDF ]; then kill -1 $(cat $PIDF) else echo "Nginx正在停止…重新加載" fi ;; status) if [ -f $PIDF ]; then echo "Nginx正在運(yùn)行" else echo "Nginx停止" fi ;; *) echo "Usage: $0 (start|stop|restart|reload|status)" exit 1 esac exit 0
腳本文件并添加執(zhí)行權(quán)限
[root@localhost ~]# chmod +x /etc/init.d/nginx 將腳本添加到系統(tǒng)服務(wù)并設(shè)置開機(jī)啟動(dòng) [root@localhost ~]# chkconfig --add nginx 添加為服務(wù)啟動(dòng)項(xiàng) [root@localhost ~]# chkconfig --list nginx nginx 0:關(guān)閉 1:關(guān)閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關(guān)閉 [root@localhost ~]# chkconfig --level 3 nginx on 測(cè)試腳本是否能夠執(zhí)行 [root@localhost ~]# service nginx start Nginx正在運(yùn)行… [root@localhost ~]# service nginx restart [root@localhost ~]# service nginx stop [root@localhost ~]# service nginx stop Nginx正在停止… [root@localhost ~]# service nginx start [root@localhost ~]# service nginx status Nginx正在運(yùn)行
上述內(nèi)容就是shell如何編寫nginx服務(wù)啟動(dòng)程序,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道。
當(dāng)前標(biāo)題:shell如何編寫nginx服務(wù)啟動(dòng)程序-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://jinyejixie.com/article8/hgjop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、定制網(wǎng)站、品牌網(wǎng)站建設(shè)、ChatGPT、網(wǎng)站營(yíng)銷、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容