前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx超详细的常用操作命令

Nginx超详细的常用操作命令

作者头像
用户4919348
发布2020-05-21 10:15:28
9.7K0
发布2020-05-21 10:15:28
举报
文章被收录于专栏:波波烤鸭波波烤鸭

  本文我们来介绍下Nginx中的常用操作命令。

服务启动命令

-h help命令可以查看帮助信息

在这里插入图片描述
在这里插入图片描述

默认启动方式

  直接执行Nginx的二进制文件即可

代码语言:shell
复制
/usr/local/nginx/sbin/nginx

该方式默认会加载 /usr/local/conf/nginx.conf 配置文件

指定配置文件

也可以在启动的时候指定要加载的配置文件 -c

代码语言:shell
复制
/usr/local/nginx/sbin/nginx -c conf/nginx.conf

当然我们在启动的时候也可以指定pid的存储位置

代码语言:shell
复制
/usr/local/nginx/sbin/nginx -g “pid /usr/local/nginx/nginx.pid;”
在这里插入图片描述
在这里插入图片描述

-g参数的约束条件是指定的配置项不能与默认路径下的nginx.conf中的配置项相冲突,否则无法启动。就像上例那样,类似这样的配置项:pid logs/nginx.pid,是不能存在于默认的nginx.conf中的。 另一个约束条件是,以-g方式启动的Nginx服务执行其他命令行时,需要把-g参数也带上,否则可能出现配置项不匹配的情形。例如,如果要停止Nginx服务,那么需要执行下面代码:

代码语言:shell
复制
/usr/local/nginx/sbin/nginx -g "pid /usr/local/nginx/nginx.pid;" -s stop

查看服务是否启动成功

代码语言:shell
复制
ps -ef | grep nginx

查看是否有对应的nginx进程

在这里插入图片描述
在这里插入图片描述

还可以查看对应的pid文件,可以看到对应的master进程的进程编号,表示服务启动了

在这里插入图片描述
在这里插入图片描述

最后nginx后默认的端口是80,这时我们能够在浏览器中访问成功也可以说明启动成功了

在这里插入图片描述
在这里插入图片描述

停止服务命令

查看master进程的方式

代码语言:shell
复制
ps -ef | grep nginx

信号量停止

  停止Nginx的方法有很多,一般是通过发送系统信号给Nginx主进程的方式来停止Nginx 语法: kill 信号量类型 master进程编号 从容停止:允许Nginx服务将当前正在处理的网络请求处理完成,但不再接收新的请求

代码语言:shell
复制
kill -quit 进程编号
在这里插入图片描述
在这里插入图片描述

快速停止:立即停止当前Nginx服务正在处理的所有网络请求

代码语言:shell
复制
kill -term 进程编号
在这里插入图片描述
在这里插入图片描述

执行停止命令,进程立马被干掉了

强制停止:这个得分别干掉master进程和worker进程

代码语言:shell
复制
kill -9 进程编号

快速停止

  上面的信号量方式停止,稍微显得麻烦点,我们需要先查看到对应的master进程编号,然后再发送对应的信号量,这时我们可以通过更简洁的方式来停止

代码语言:shell
复制
/usr/local/nginx/sbin/nginx -s stop

  使用-s stop可以强制停止Nginx服务。-s参数其实是告诉Nginx程序向正在运行的Nginx服务发送信号量,Nginx程序通过nginx.pid文件中得到master进程的进程ID,再向运行中的master进程发送TERM信号来快速地关闭Nginx服务。

“优雅”地停止服务

  如果希望Nginx服务可以正常地处理完当前所有请求再停止服务,那么可以使用-s quit参数来停止服务。

代码语言:shell
复制
/usr/local/nginx/sbin/nginx -s quit

  该命令与快速停止Nginx服务是有区别的。当快速停止服务时,worker进程与master进程在收到信号后会立刻跳出循环,退出进程。而“优雅”地停止服务时,首先会关闭监听端口, 停止接收新的连接,然后把当前正在处理的连接全部处理完,最后再退出进程。

热加载命令

  如果改变了Nginx的配置文件.nginx.conf,想要重启Nginx,首先需要验证nginx.conf的语法有没有问题

代码语言:shell
复制
/usr/local/nginx/sbin/nginx -t

语法验证没有问题我们就可以通过 -s reload来重新加载配置文件了

代码语言:shell
复制
/usr/local/nginx/sbin/nginx -s reload

获取通过发送信号量的方式来重新加载

代码语言:shell
复制
kill -hup master进程编号

好了,nginx常用的操作命令就介绍到此,相信你应该能上手操作Nginx了~

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-05-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 服务启动命令
    • 默认启动方式
      • 指定配置文件
        • 查看服务是否启动成功
        • 停止服务命令
          • 信号量停止
            • 快速停止
              • “优雅”地停止服务
              • 热加载命令
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档