Nginx启动/停止/状态检查/重新启动/平滑重启脚本

默认使用源代码安装Nginx时,Ngninx需要另外配置启动/停止/状态检查/
重新启动/平滑重启/测试配置文件等功能的脚本,风信网收集并整理了一段Nginx的功能脚本,供大家参考使用。

应用新脚本之前,需要先运行命令关闭nginx

[root@localhost ~]# sudo kill `cat /usr/local/nginx/logs/nginx.pid`

#请修改为你的nginx.pid文件路径

建立一个nginx启动脚本

[root@localhost ~]# vi /etc/init.d/nginx

输入以下内容,注意配置nginx="/usr/local/nginx/sbin/nginx"、NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"和lockfile=/var/lock/subsys/nginx文件的正确路径,

#!/bin/sh

#

# nginx - this script starts and stops the nginx daemin

#

# chkconfig:&">nbsp;  - 85 15

# description:  Nginx is an HTTP(S) server, HTTP(S) reverse \

#               proxy and IMAP/
POP3 proxy server

# processname: nginx

# config:      /usr/local/nginx/conf/nginx.conf

# pidfile:     /usr/local/nginx/logs/nginx.pid

# Source
function library.

. /etc/rc.d/init.d/functions

# Source networking configuration.

. /etc/sysconfig/network

# Check that networking is up.

[ "$NETWORKING" = "no" ] && exit 0

nginx="/usr/local/nginx/sbin/nginx"

prog=$(basename $nginx)

NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"

lockfile=/var/lock/subsys/nginx

start() {

    [ -x $nginx ] || exit 5

    [ -f $NGINX_CONF_FILE ] || exit 6

    echo -n $"Starting $prog: "

   
daemon $nginx -c $NGINX_CONF_FILE

    retval=$?

    echo

    [ $retval -eq 0 ] && touch $lockfile

    return $retval

}

stop() {

    echo -n $"Stopping $prog: "

    killproc $prog -QUIT

    retval=$?

    echo

    [ $retval -eq 0 ] && rm -f $lockfile

    return $retval

}

restart() {

    configtest || return $?

    stop

    start

}

reload() {

    configtest || return $?

    echo -n $"Reloading $prog: "

    killproc $nginx -HUP

    RETVAL=$?

    echo

}

force_reload() {

    restart

}

configtest() {

  $nginx -t -c $NGINX_CONF_FILE

}

rh_status() {

    status $prog

}

rh_status_q() {

    rh_status >/dev/null 2>&1

}

case "$1" in

    start)

        rh_status_q && exit 0

        $1

        ;;

    stop)

        rh_status_q || exit 0

        $1

        ;;

    restart|configtest)

        $1

        ;;

    reload)

        rh_status_q || exit 7

        $1

        ;;

    force-reload)

        force_reload

        ;;

    status)

        rh_status

        ;;

    condrestart|try-restart)

        rh_status_q || exit 0

            ;;

    *)

        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"

        exit 2

esac

保存之后退出

为Nginx文件配置执行权限

[root@localhost ~]#
chmod +x /etc/init.d/nginx

添加nginx脚本开机启动

[root@localhost ~]# /sbin/chkconfig nginx on

检查nginx的运行级别

sudo /sbin/chkconfig --list nginx

nginx           0:off   1:off   2:on    3:on    4:on    5:on    6:off

完成之后,就可以使用以下命令了

[root@localhost ~]# service nginx start

正在启动 nginx:[确定]

[root@localhost ~]# service nginx stop

停止 nginx:[确定]

[root@localhost ~]# service nginx restart

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

停止 nginx:[确定]

正在启动 nginx:[确定]

[root@localhost ~]# service nginx reload

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

重新载入 nginx:[确定]

[root@localhost ~]# service nginx status

nginx (pid 3088 3069) 正在运行...

或者也可以使用以下命令:

[root@localhost ~]# /etc/init.d/nginx start

[root@localhost ~]# /etc/init.d/nginx stop

[root@localhost ~]# /etc/init.d/nginx restart

[root@localhost ~]# /etc/init.d/nginx reload

时间: 2024-10-31 23:26:37

Nginx启动/停止/状态检查/重新启动/平滑重启脚本的相关文章

启动/停止SQL Server服务的批处理脚本

 案例一:在一个Windows操作系统中,安装有10个SQL Server实例,每一个实例存在大约120个数据库教程.现在要同时启动10个实例的服务(SQL Server & SQL Server Agent & SQL Server FullText Search).通过SQL Server Configuration Manager,需要一个实例,一个服务的一一启动.那是多么繁琐.笨拙的操作.       案例二:在案例一的场景,启动了全部的实例.不久,就发现程序运行缓慢,即使在Mic

Nginx启动SSL功能,并进行功能优化详细介绍_Linux

Nginx启动SSL功能,并进行功能优化,你看这个就足够了 一:开始Nginx的SSL模块 1.1 Nginx如果未开启SSL模块,配置Https时提示错误 nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:37 原因也很简单,nginx缺少http_ssl_module模块,编译安装的时候带上--with-http_ssl_module

【学习笔记】启动Nginx、查看nginx进程、查看nginx服务主进程的方式、Nginx服务可接受的信号、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级

 1.启动nginx的方式: cd /usr/local/nginx ls ./nginx -c nginx.conf 2.查看nginx的进程方式: [root@localhost nginx]# ps –ef | grep nginx [root@localhost nginx]# ps -ef | grep nginx root     21094     1  0 07:52 ?        00:00:00 nginx: master process ./nginx -c ngi

04_Nginx命令行参数,控制信号,Nginx启动、停止、重启命令

 Nginx支持一下命令行参数 -? | -h   打印出命令行参数的帮助 [root@localhost nginx]# ./nginx -? nginx version: nginx/1.8.0 Usage: nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]   Options:   -?,-h         : this help   -v            : show version a

Nginx 启动、停止、重启、升级操作命令收集_nginx

那下面主要总结一下Nginx的基本操作. 启动操作 命令: nginx -c /usr/nginx/conf/nginx.conf -c参数指定了要加载的nginx配置文件路径. 停止操作 停止操作是通过向nginx进程发送信号(什么是信号请参阅linux文章)来进行的 步骤1:查询nginx主进程号 ps -ef | grep nginx 在进程列表里面找master进程,它的编号就是主进程号了. 步骤2:发送信号 从容停止Nginx: kill -QUIT 主进程号 快速停止Nginx: k

centos下nginx启动、重启、关闭操作

Nginx的启动 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 其中 -c 参数指定配置文件路径. Nginx的停止 Nginx支持以下几种信号控制: TERM, INT 快速关闭 QUIT 从容关闭 HUP 平滑重启 USR1 重新打开日志文件,在切割文件时用处大 USR2 平滑升级 WINCH 从容关闭工作进程 我们可以通过信号停止Nginx主进程,首先,我们需要通过 ps -ef | grep 命令获得mas

批处理命令行CMD启动停止重启IIS的命令

原文:批处理命令行CMD启动停止重启IIS的命令 启动IIS:   net start iisadmin    (IIS的整个服务) net start w3svc       (WWW网页WEB服务) 停止IIS:   net stop iisadmin /y     (会自动停止www.ftp和smtp服务) 如果用的IIS自带FTP还可以执行 net start MSFtpsvc 命令来启动FTP 起源网 另外,还可以通过命名行使用iisreset命令加参数对IIS进行控制: C:\Doc

Linux Systemd——在RHEL/CentOS 7中启动/停止/重启服务

Linux Systemd--在RHEL/CentOS 7中启动/停止/重启服务 RHEL/CentOS 7.0中一个最主要的改变,就是切换到了systemd.它用于替代红帽企业版Linux前任版本中的SysV和Upstart,对系统和服务进行管理.systemd兼容SysV和Linux标准组的启动脚本. Systemd是一个Linux操作系统下的系统和服务管理器.它被设计成向后兼容SysV启动脚本,并提供了大量的特性,如开机时平行启动系统服务,按需启动守护进程,支持系统状态快照,或者基于依赖的

Nginx中平滑重启与平滑升级方法总结

一,Nginx的平滑重启 如果改变了Nginx的配置文件(nginx.conf),想重启Nginx,可以发送系统信号给Nginx主进程的方式来进行. 不过,在重启之前,要确认Nginx配置文件的语法是正确的,可 测试配置文件是否正确: 代码示例:  代码如下 复制代码 /usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf 配置文件不正确,屏幕会提示配置文件的第几行出错: nginx:[emerg] invalid n