共计 2501 个字符,预计需要花费 7 分钟才能阅读完成。
使用源码包安装的 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、编写脚本内容
# 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 |
3、将脚本添加到系统服务并设置开机启动
# chkconfig --add nginx | |
# chkconfig --level 3 nginx on |
4、测试脚本是否能够执行
运行命令:service nginx start 或 /etc/init.d/nginx start
更多 Nginx 负载均衡配置 相关教程见以下内容:
Nginx 负载均衡配置说明 http://www.linuxidc.com/Linux/2016-03/129424.htm
Linux 下 Nginx+Tomcat 负载均衡和动静分离配置要点 http://www.linuxidc.com/Linux/2016-01/127255.htm
Docker+Nginx+Tomcat7 配置简单的负载均衡 http://www.linuxidc.com/Linux/2015-12/125907.htm
Nginx 负载均衡(主备)+Keepalived http://www.linuxidc.com/Linux/2015-12/126865.htm
使用 Nginx 作为负载均衡器 http://www.linuxidc.com/Linux/2015-12/125789.htm
使用 Nginx 简单实现负载均衡 http://www.linuxidc.com/Linux/2016-08/134443.htm
Nginx 负载均衡与高可用的实现 http://www.linuxidc.com/Linux/2016-04/130350.htm
Nginx 的详细介绍:请点这里
Nginx 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-09/135618.htm
