Nginx启动/重启脚本详解

摘要:
Nginx通过向Nginx进程发送信号来手动启动和停止操作。步骤1:查询nginx主进程编号ps-ef|grepnginx,在进程列表中找到主进程。其编号为主要工艺编号。使用pid文件,我们不需要先查询Nginx的主进程号,而是直接向Nginx发送信号。命令如下:kill-signal type‘/usr/nginx/logs/nginx。pid命令:/usr/local/nginx/sbin/nginx[root@kangxiaowei~]#/Usr/local/nginx/sbin/nginx[emerg]:bind()to 0.0.0.0:80failed[emerg]:bind()to0.0.0.0:80 failed[emerg]:bind()to0.0.0.0:80 failed[Eemerg]():bind,执行以下命令:代码复制为chkconfig--addningxchkconfig--levelnginx2345on自动启动脚本代码复制为#!

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/bin
DESC="nginx daemon"
NAME=nginx
DAEMON=/usr/local/platform/nginx/sbin/$NAME
CONFIGFILE=/usr/local/platform/nginx/conf/$NAME.conf
PIDFILE=/usr/local/platform/nginx/logs/$NAME.pid
SCRIPTNAME=/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=nginx
DAEMON=/usr/local/nginx/sbin/$NAME
CONFIGFILE=/usr/local/nginx/conf/$NAME.conf
PIDFILE=/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

免责声明:文章转载自《Nginx启动/重启脚本详解》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Qt读写ini文件HTTP 头部解释,HTTP 头部详细分析,最全HTTP头部信息下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Dubbo端口占用错误信息

SEVERE: Exception sending context initialized event to listener instance of class com.common.SysContextLoaderListener com.alibaba.dubbo.rpc.RpcException: Fail to start server(url...

使用Zabbix监控Nginx状态页实战案例

           使用Zabbix监控Nginx状态页实战案例                                      作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。  一.编译安装nginx步骤详解并开启状态页   博主推荐阅读:     https://www.cnblogs.com/yinzhengjie/p/...

nginx日志切割

http://www.ttlsa.com/nginx/nginx-log-cutting/ nginx日志默认情况下统统写入到一个文件中,文件会变的越来越大,非常不方便查看分析。以日期来作为日志的切割是比较好的,通常我们是以每日来做统计的。下面来说说nginx日志切割。关于nginx相关日志配置参见:《nginx日志配置》一文。logrotate用法参见《...

linux 下将tomcat注册成服务并开机启动

一、将startup.sh和shutdown.sh新建软连接到/usr/bin ln -s /usr/local/apache-tomcat-8.5.38/bin/startup.sh /usr/bin/startup.sh ln -s /usr/local/apache-tomcat-8.5.38/bin/shutdown.sh /usr/bin/shu...

Linux-019-Centos Shell 安装 Nginx 后启动时提示找不到Lua模块的libluajit-5.1.so.2文件,具体提示信息:./nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory

Centos Shell 安装后启动时提示找不到 lua 模块的 libluajit-5.1.so.2 文件,具体提示信息:./nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or di...

Golang ECHO中间件【10】

在echo框架中中间件(Middleware)指的是可以拦截http请求-响应生命周期的特殊函数,在请求-响应生命周期中可以注册多个中间件,每个中间件执行不同的功能,一个中间执行完再轮到下一个中间件执行。 中间件是一个函数,嵌入在HTTP 的请求和响应之间。它可以获得 Echo#Context 对象用来进行一些特殊的操作, 比如记录每个请求或者统计请求数。...