首页 > 代码库 > linux下nginx启动停止重启控制脚本

linux下nginx启动停止重启控制脚本

   这是控制nginx服务的脚本文件,包括控制nginx的启动、重启、停止、平滑重启、对配置文件的额检查。

[root@localhost ~]# cat nginx.sh 

#!/bin/env bash

# description:nginx server   ###必须加描述

# nginx - this script is used to control nginx service

# processname nginx

# chkconfig: - 85 15

# edit by sun

# date 2014-07-03

# email address 1305627792@qq.com


nginx="/usr/local/nginx/sbin/nginx"

prog="nginx"

conf_file="/usr/local/nginx/conf/nginx.conf"


start() {

if [ `pgrep $prog | wc -l` -eq 0 ];then

if [ -x $nginx ] && [ -f $conf_file ];then

$nginx -c $conf_file

ret=$?

if [ $ret -eq 0 ];then

echo "$prog start       successed"

else

echo "$prog start       failed"

fi

else

echo "$prog config file not exist"

fi

else

echo "$prog is already started ... "

fi

}


stop() {

if [ `pgrep $prog | wc -l` -ne 0 ];then

killall -9 $prog

ret=$?

if [ $ret -eq 0 ];then

echo "$prog stop       successed"

else

echo "$prog stop   failed"

fi

else

echo "$prog is already stopped ..."

fi

}


restart() {

stop

sleep 2

start

}


reload() {

if [ `pgrep $prog | wc -l` -ne 0 ];then

pid=`ps -ef | grep $prog | grep master | awk ‘{print $2}‘`

if [ -x $nginx ] && [ -f $conf_file ];then

kill -HUP $pid

ret=$?

if [ $ret -eq 0 ];then

echo "$prog reload  successed"

else

echo "$prog reload    failed"

fi

else

echo "$prog config file is not exist"

fi

else

echo "$prog is stopped, please start $prog first ..."

fi

}


check() {

if [ -x $nginx ] && [ -f $conf_file ];then

$nginx -t -c $conf_file

ret=$?

if [ $ret -eq 0 ];then

echo "$prog check successed"

else

echo "$prog check failed"

fi

fi

}


case $1 in

start)

start 

;;

stop)

stop

;;

restart)

restart

;;

reload)

reload

;;

check)

check

;;

*)

echo "Usage: $0 {start|stop|restart|reload|check}"

esac

运行bash nginx.sh start等操作即可。

本文出自 “个人感受” 博客,谢绝转载!