首页 > 开发 > Nginx > 正文

Nginx启动/重启脚本详解

2019-12-22 22:01:31
字体:
来源:转载
供稿:网友
Nginx启动/重启脚本详解

Nginx手动启动

停止操作

停止操作是通过向nginx进程发送信号(什么是信号请参阅linux文 章)来进行的步骤1:查询nginx主进程号ps -ef | grep nginx在进程列表里 面找master进程,它的编号就是主进程号了。步骤2:发送信号从容停止Nginx:kill -QUIT 主进程号快速停止Nginx:kill -TERM 主进程号强制停止Nginx:pkill -9 nginx

另外, 若在nginx.conf配置了pid文件存放路径则该文件存放的就是Nginx主进程号,如果没指定则放在nginx的logs目录下。有了pid文 件,我们就不用先查询Nginx的主进程号,而直接向Nginx发送信号了,命令如下:kill -信号类型 '/usr/nginx/logs/nginx.pid'

命令:/usr/local/nginx/sbin/nginx

若出现:

[root@kangxiaowei ~]# /usr/local/nginx/sbin/nginx[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)[emerg]: still could not bind()

则再次执行 /root/lnmp stop关闭lnmp即可

Nginx的开机启动脚本

开机自动启动nginx,

如果需要开机启动服务,保存好 /etc/init.d/nginx文件后,

执行以下命令:

代码如下 复制代码 chkconfig --add ningx

chkconfig --level nginx 2345 on

开机自动启动脚本

代码如下 复制代码 #! /bin/sh# chkconfig: 2345 55 25# Description: Startup script for nginx webserver on Debian. Place in /etc/init.d and# run 'update-rc.d -f nginx defaults', or use the apPRopriate command on your# distro. For CentOS/Redhat run: 'chkconfig --add nginx'

### BEGIN INIT INFO# Provides: nginx# Required-Start: $all# Required-Stop: $all# Default-Start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: starts the nginx web server# Descri(www.111cn.net)ption: starts nginx using start-stop-daemon### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/binDESC="nginx daemon"NAME=nginxDAEMON=/usr/local/platform/nginx/sbin/$NAMECONFIGFILE=/usr/local/platform/nginx/conf/$NAME.confPIDFILE=/usr/local/platform/nginx/logs/$NAME.pidSCRIPTNAME=/etc/init.d/$NAME

set -e[ -x "$DAEMON" ] || exit 0

do_start() { $DAEMON -c $CONFIGFILE || echo -n "nginx already running"}

do_stop() { kill -INT `cat $PIDFILE` || echo -n "nginx not running"}

do_reload() { kill -HUP `cat $PIDFILE` || echo -n "nginx can't reload"}

case "$1" in start) echo -n "Starting $DESC: $NAME" do_start echo "." ;; stop) echo -n "Stopping $DESC: $NAME" do_stop echo "." ;; reload|graceful) echo -n "Reloading $DESC configuration..." do_reload echo "." ;; restart) echo -n "Restarting $DESC: $NAME" do_stop do_start echo "." ;; *) echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2 exit 3 ;;esac

exit 0

需要你修改的配置有

代码如下 复制代码 #! /bin/sh

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

NAME=nginxDAEMON=/usr/local/nginx/sbin/$NAMECONFIGFILE=/usr/local/nginx/conf/$NAME.confPIDFILE=/usr/local/nginx/logs/$NAME.pid

编辑好后保存,执行以下命令

代码如下 复制代码 1 chmod +x /etc/init.d/nginx

现在把Nginx加入chkconfig,并设置开机启动。

代码如下 复制代码 12 chkconfig --add nginx chkconfig nginx on

# 检查一下

代码如下 复制代码 1 chkconfig --list nginx nginx 0:off 1:off 2:on 3:on 4:on 5:on 6:off from:http://www.111cn.net/sys/nginx/52908.htm


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表