共计 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、编写脚本内容
#!/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
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