使用源码包安装的Nginx没办法使用"service nginx start"或"/etc/init.d/nginx start"进行操作和控制,所以写了以下的服务控制脚本。
可以使用的选项有:
start 启动
stop 停止
reload 重载
restart 重启
status 状态
test 检查配置文件
1、创建脚本文件并添加执行权限
# touch /etc/init.d/nginx
#chmod +x /etc/init.d/nginx
2、编写脚本内容
#!/bin/bash
# chkconfig:- 85 15# description: Nginx server control script
# processname: nginx
# configfile: /usr/local/nginx/conf/nginx.conf
# pidfile: /usr/local/nginx/logs/nginx.pid
#
# eastmoney public tools
# version: v1.0.0# create by XuHoo,2016-9-14#
# sourcefunctionlibrary
./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 1start() {
statusif [[ $? -eq 0 ]]; then
echo $"Nginx (PID $(cat $NGINX_PID_FILE)) already started."return1
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() {
statusif [[ $? -eq 1 ]]; then
echo "Nginx server already stopped."return1
fi
echo -n $"Stoping $NGINX_NAME:"killproc $NGINX_PROG
retval=$?
echo[ $retval-eq 0 ] && rm -f $NGINX_LOCK_FILE
return $retval
}
restart() {
stopsleep 1start
retval=$?return $retval
}
reload() {echo -n $"Reloading $NGINX_NAME:"killproc $NGINX_PROG-HUP
retval=$?
echoreturn $retval
}
status() {
netstat-anpt | grep "/nginx" | awk '{print $6}' &> /dev/null
if [[ $? -eq 0 ]]; then
if [[ -f $NGINX_LOCK_FILE ]]; thenreturn0
elsereturn1
fi
fireturn1}
_status() {
statusif [[ $? -eq 0 ]]; thenstate=`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" instart)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
restart
;;
status)
_status
;;
test)
test
;;*)echo "Usage: { start | stop | reload | restart | status | test }"exit1
esac
3、将脚本添加到系统服务并设置开机启动
# chkconfig --add nginx
# chkconfig--level 3 nginx on
4、测试脚本是否能够执行
运行命令: service nginx start 或 /etc/init.d/nginx start
更多Nginx负载均衡配置相关教程见以下内容:
Nginx 的详细介绍:请点这里
Nginx 的下载地址:请点这里