环境说明
1.linux: ubuntu 18.04.3 LTS
2.Nginx: 1.14.0(本文的操作都是基于apt命令安装的Nginx)
文件位置说明
Nginx使用源码编译安装和直接安装(如使用apt命令安装)时,各文件位置是不同的。
1、Nginx二进制文件
(1)源码编译安装:/usr/local/nginx/sbin/nginx
(2)apt命令安装:/usr/sbin/nginx
2、配置文件
(1)源码编译安装:/usr/local/nginx/conf/nginx.conf
(2)apt命令安装:/etc/nginx/nginx.conf
查看版本信息
使用 -v
(小写的v)参数可以查看Nginx版本信息。
# /usr/sbin/nginx -v
nginx version: nginx/1.14.0 (Ubuntu)
测试配置信息是否有错误
在启动Nginx前可以使用 -t
参数测试配置文件(nginx.conf)是否正确。
# /usr/sbin/nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
说明:
(1)使用 -q
参数可以不输出 error
级别以下的信息。
# /usr/sbin/nginx -t -q
查看编译阶段的参数
使用 -V
(大写的V)可以查看 配置编译
阶段的信息。
# /usr/sbin/nginx -V
nginx version: nginx/1.14.0 (Ubuntu)
built with OpenSSL 1.1.1 11 Sep 2018
TLS SNI support enabled
configure arguments: --with-cc-opt='-g -O2 -fdebug-prefix-map=/build/nginx-DUghaW/nginx-
... =>此处省略余下内容
启动
# /usr/sbin/nginx
说明:
(1)启动的时候会读取默认路径下的配置文件。如:/etc/nginx/nginx.conf
。
(2)如果启动时想要指定配置文件,可以使用 -c
(configure) 参数。
# /usr/sbin/nginx -c /tmp/nginx.conf
停止
1、stop
-s stop
命令告诉Nginx向正在运行的Nginx master进程发送TERM信号量来快速的关闭Nginx服务。
# /usr/sbin/nginx -s stop
说明:
(1)如果通过 kill
命令直接向Nginx master进程发送TERM或者INT信号也是一样的效果。
a.查看Nginx master进程ID
# ps -ef | grep nginx
root 15384 1 0 12:04 ? 00:00:00 nginx: master process /usr/sbin/nginx
www-data 15385 15384 0 12:04 ? 00:00:00 nginx: worker process
root 27468 27417 0 21:27 pts/0 00:00:00 grep --color=auto nginx
b.使用kill -s SIGTERM/SIGINT命令结束Nginx master进程
# kill -s SIGTERM 15384
或者
# kill -s SIGINT 15384
2、quit
-s quit
命令告诉Nginx正常处理完所有任务
(关闭监听接口,停止接收新的链接,把当前的所有连接全部处理完)再停止进程。
# /usr/sbin/nginx -s quit
说明:
(1)如果通过 kill
命令直接向Nginx master进程发送QUIT
号也是一样的效果。
a.查看Nginx master进程ID
# ps -ef | grep nginx
root 15384 1 0 12:04 ? 00:00:00 nginx: master process /usr/sbin/nginx
www-data 15385 15384 0 12:04 ? 00:00:00 nginx: worker process
root 27468 27417 0 21:27 pts/0 00:00:00 grep --color=auto nginx
b.使用kill -s SIGQUIT命令结束Nginx master进程
# kill -s SIGQUIT 15384
使运行中的Nginx重读配置并且生效
-s reload
参数会重新加载nginx.conf文件——先检查配置是否有误,如果没有就使用 quit
命令停止服务,然后再重新启动。
# /usr/sbin/nginx -s reload
说明:
(1)如果通过 kill
命令直接向Nginx master进程发送SIGHUP
号也是一样的效果。
a.查看Nginx master进程ID
# ps -ef | grep nginx
root 15384 1 0 12:04 ? 00:00:00 nginx: master process /usr/sbin/nginx
www-data 15385 15384 0 12:04 ? 00:00:00 nginx: worker process
root 27468 27417 0 21:27 pts/0 00:00:00 grep --color=auto nginx
b.使用kill -s SIGHUP命令结束Nginx master进程
# kill -s SIGHUP 15384
查看命令行帮助
使用-h或者-?参考nginx的命令行参数用法。
/usr/sbin/nginx -h
nginx version: nginx/1.14.0 (Ubuntu)
Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]
Options:
-?,-h : this help
... =>此处省略余下内容
参考资料
[1]Nginx命令行参数:https://nginx.org/en/docs/switches.html