nginx短篇(3):基础命令

栏目: 服务器 · Nginx · 发布时间: 6年前

内容简介:所属分类: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短篇系列文章能够对你有所帮助~

我的微信公众号

关注"实用运维笔记"微信公众号,当博客中有新文章时,可第一时间得知哦~


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Web Development Recipes

Web Development Recipes

Brian P. Hogan、Chris Warren、Mike Weber、Chris Johnson、Aaron Godin / Pragmatic Bookshelf / 2012-1-22 / USD 35.00

You'll see a full spectrum of cutting-edge web development techniques, from UI and eye candy recipes to solutions for data analysis, testing, and web hosting. Make buttons and content stand out with s......一起来看看 《Web Development Recipes》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具