内容简介:所属分类:nginx
- A+
所属分类:nginx 运维技术
首先,感谢上次在微信公众号中点击"好看"的读者,这篇文章是为你们写的。
在前两篇文章中,我们介绍了安装nginx的方法以及配置文件的基础语法结构,那么在这篇文章中,我们来了解一下nginx的常用基础命令。
上一篇文章中我们已经提到了怎样启动nginx,如果你是通过编译安装的方式安装了nginx,那么我们可以通过nginx安装目录的sbin目录中的nginx二进制文件启动nginx,由于我将nginx安装到了/srv/nginx/目录中,所以,我使用如下命令启动nginx
# /srv/nginx/sbin/nginx
没错,nginx命令就是我们最常用到的命令了,上例nginx命令没有使用任何参数,我们还可以配合一些参数来使用nginx命令,如果你使用的是yum源的方式安装的nginx,你可以在任何路径下输入如下命令启动nginx
# nginx
通过yum源安装nginx后,可以在任何目录中直接使用nginx命令,这是因为通过yum源安装nginx后,nignx二进制文件默认会放在/usr/sbin/目录中,而这个目录正好属于默认环境变量PATH变量中的一部分,所以,如果你通过编译安装的方式安装了nginx,也可以将nginx的安装目录中的/sbin目录配置到PATH环境变量中,以便在任何路径中都可以直接使用nginx命令,以我的编译安装环境作为示例,步骤如下:
1、创建/etc/profile.d/nginx.sh文件,以便写入环境变量配置。 2、在/etc/profile.d/nginx.sh文件中写入如下内容: nginx_home=/srv/nginx PATH=$nginx_home/sbin:$PATH export PATH 3、使用如下命令重载刚才的配置 # source /etc/profile
完成上述步骤,即可在编译安装nginx后,方便的执行nginx命令了。
聊完上述快捷配置后,我们再来聊聊nginx命令的一些常用选项。
不加任何选项直接执行nginx命令,就是用于启动nginx服务的,如果你想要看看nginx命令都有哪些可用的选项,则可以使用"-h选项"或者"-?选项",如下:
# nginx -h # nginx -?
使用"-v"选项(小写v)可以查看nginx的版本信息,如下
# nginx -v nginx version: nginx/1.14.2
使用"-V"选项(大写V)可以查看当前nginx的编译信息,在最开始的文章中我们就介绍过,编译安装nginx时,有很多"可选模块"可供我们使用,我们可以选择安装或不安装对应的可选模块,同时,我们还可以在编译安装时,设置一些编译选项,比如安装目录、各种文件的目录、编译器选项等等,这些信息都属于编译信息,所以,我们可以通过如下命令查看这些编译信息。
# nginx -V
当然,即使你使用的是yum源的方式安装的nginx,同样可以上述命令查看这些编译信息,只不过yum源中的nginx二进制文件是别人提前为我们编译好的,那些编译信息也是别人为我们编译nginx时所使用的编译设置。
使用"-c"选项可以指定使用哪个配置文件来启动nginx服务,默认情况下,会使用nginx安装目录中的conf目录中的nginx.conf文件作为主配置文件,你也可以在命令行中使用"nginx -c /xxxpath/nginx.conf"来指定具体路径下的配置文件启动nginx服务。
使用"-t"选项或者"-T"选项可以测试nginx.conf配置文件中是否存在语法错误,前一篇文章中我们提到过,nginx.conf中的配置指令需要以分号结尾,如果没有以分号结尾,会在启动nignx时报语法错误,其实,在启动nginx服务之前,我们就可以使用"nginx -t"命令对nginx.conf文件进行语法检查,如果配置文件中存在语法错误,那么相应的错误信息会输出,如果配置语法没有问题,则会出现类似如下信息
# nginx -t nginx: the configuration file /srv/nginx/conf/nginx.conf syntax is ok nginx: configuration file /srv/nginx/conf/nginx.conf test is successful
无论语法是否正确,"nginx -t"命令都不会启动nginx服务,"nginx -t"命令只用于检查是否存在语法错误,此处所谓的语法错误包括"非法指令"、"重复指令"、"指令没有以分号结尾"等。
当存在语法错误时,"nginx -t"命令和"nginx -T"命令输出的错误信息是完全相同的,只有在语法正确时,这两个命令才存在区别,"nginx -T"命令会在语法正确时,将配置文件中的内容输出到屏幕中,我们可以将这些内容重定向到一个文件中,以便将当前的正确配置进行备份。
还有一个非常常用的选项,就是"-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进程重新打开日志文件,以便实现日志分割的效果,关于日志切割的话题会单独总结一片文章,reopen信号也会在届时进行演示,此处不用纠结。
此处将上述常用选项进行总结,以便回顾:
不加选项:启动nginx服务
-h 或 - ? 选项: 查看 nginx 命令帮助
-v选项:查看nginx版本信息
-V选项:查看nginx编译信息
-c选项:启动nginx时指定主配置文件
-t或-T选项:测试nginx.conf文件是否存在语法错误
-s 选项: 向正在运行的 nginx 主进程发送信号,信号的可用值有 stop, quit, reopen, reload
好了,这篇文章就先写到这里,希望nginx短篇系列文章能够对你有所帮助~
我的微信公众号
关注"实用运维笔记"微信公众号,当博客中有新文章时,可第一时间得知哦~
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。