一、命令说明
选项 | 说明 |
---|---|
-?,-h | 帮助命令 |
-v | 查看版本号 |
-V | 查看版本号和配置选项(可用类查看已安装的所有模块) |
-t | 测试配置文件是否正确 |
-T | 测试nginx.conf文件是否存在语法错误 |
-q | 优雅停止nginx,有连接时会等连接请求完成再杀死worker进程 |
-s signal | 发送信号给主进程,信号有: stop, quit, reopen, reload |
-p prefix | 设置前缀路径 (默认路径: /usr/local/nginx/) |
-c filename | 设置配置文件 (默认配置: conf/nginx.conf) |
-g directives | 从配置文件中设置全局指令 |
官方原文:
nginx version: nginx/1.15.8
Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]
Options:
-?,-h : this help
-v : show version and exit
-V : show version and configure options then exit
-t : test configuration and exit
-T : test configuration, dump it and exit
-q : suppress non-error messages during configuration testing
-s signal : send signal to a master process: stop, quit, reopen, reload
-p prefix : set prefix path (default: /usr/local/nginx/)
-c filename : set configuration file (default: conf/nginx.conf)
-g directives : set global directives out of configuration file
二、详细介绍
1. 如何快速启动?
- 制作软连接
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
制作软链接后就可以直接使用 nginx 来启动 nginx服务了。
- 配置环境变量
编辑/etc/profile
并且追加Nginx的环境变量
## 配置环境变量
# nginx
export NGINX_HOME=/usr/local/nginx
export PATH=$PATH:$NGINX_HOME/sbin
## 生效环境变量
source /etc/profile
## 测试
nginx -v
nginx version: nginx/1.15.8
2. 如何查看nginx
的帮助选项,则可以使用-h
选项"或者-?
选项,如下:
nginx -h
nginx -?
3. 查看nginx
版本号
使用-v
选项(小写v
)可以查看nginx
的版本信息,如下:
root@ubuntu-desktop:/home/dreamhai# nginx -v
nginx version: nginx/1.15.8
4. 查看nginx
版本号以及安装的所有模块
使用-V
选项(大写V
)可以查看当前nginx
的编译信息,编译安装nginx
时,有很多"可选模块"可供我们使用,我们可以选择安装或不安装对应的可选模块,同时,我们还可以在编译安装时,设置一些编译选项,比如安装目录、各种文件的目录、编译器选项等等,这些信息都属于编译信息,所以,我们可以通过如下命令查看这些编译信息。
root@ubuntu-desktop:/home/dreamhai# nginx -V
nginx version: nginx/1.15.8
built by gcc 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)
configure arguments:
5. 如何检查nginx
配置文件语法是否正确?
使用-t
选项或者-T
选项可以测试nginx.conf
配置文件中是否存在语法错误,nginx.conf
中的配置指令需要以分号结尾,如果没有以分号结尾,会在启动nignx
时报语法错误,其实,在启动nginx服务之前,我们就可以使用nginx -t命令对nginx.conf文件进行语法检查,如果配置文件中存在语法错误,那么相应的错误信息会输出,如果配置语法没有问题,则会出现类似如下信息:
root@ubuntu-desktop:/home/dreamhai# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
6. nginx
如何给主线程发送信号?
还有一个非常常用的选项,就是-s
选项,-s
选项的作用就是向正在运行的nginx
进程发送信号,这样解释可能不容易理解,我们换个角度来说吧,
比如,当nginx
服务已经启动,我们想要停止nginx
服务,则可以使用nginx -s stop
命令停止nginx服务,nginx -s stop
命令表示向nginx进程发送stop信号,使用-s
选项除了能够发送stop
信号,还能发送quit信号
、reopen信号
以及reload信号
,那么这三种信号分别代表什么意思呢?我们一一道来
quit信号
:与stop信号的作用类似,quit信号作用也是用于停止nginx服务,quit信号
和stop信号
的区别在于,nignx进程收到stop信号以后会立即停止服务,而收到quit信号后,不会再接收新的请求,但是会先处理完已经接受的链接请求,处理完这些请求之后再停止服务,这种停止方式被称之为"优雅的停止"。- reload信号:
reload信号
的作用就是在不停止服务的情况下重载配置文件,比如,nginx正在正常的提供服务,此时,管理员修改了nginx.conf
文件中的配置指令,管理员希望新的配置立刻生效,但是又不希望重启nginx
服务,此时就可以使用nginx -s reload
命令重载配置文件,以便在不重启nginx的情况下载入新的配置,同时避免了因重启而造成的服务中断。 - reopen信号:利用
reopen信号
可以使nignx进程重新打开日志文件,以便实现日志分割的效果。