https://www.jianshu.com/p/d70006f18a6d
作者:Gakki

nginx 命令详解
  • 输入命令:nginx -h

     
    nginx -h
  • -?,-h:查看帮助
  • -v:显示版本信息并退出
  • -V:显示版本和配置选项信息,然后退出
  • -t:检测配置文件是否有语法错误,然后退出
  • -T:检测配置文件语法,打印它并退出
  • -q:在配置测试期间,禁止显示非错误信息
  • -s:发送信号给主进程,stop 强制退出,quit 优雅的退出,reopen 重启,reload 重新加载配置
  • -p:设置 nginx 目录
  • -c:指定启动使用的配置文件(常用)
  • -g:在配置文件之外设置全局指令
启动
  1. 直接启动
  • 进入 nginx 安装目录找到 sbin 文件夹,然后启动 nginx。
    命令:cd /sbin 进入到 sbin 目录下
    命令:./nginx 启动 nginx
  1. 指定配置文件方式启动:
    命令:./nginx -c /usr/local/nginx/conf/nginx.conf

注:/usr/local/nginx/conf/nginx.conf为 nginx 配置文件,根据自己实际情况修改。

修改配置之后重启
检查 nginx 配置
  1. 进入 nginx 下的 sbin 目录下执行命令:
    命令:./nginx -t

注:该命令是检查配置文件是否有语法错误。如果有错,会提示出多少行出错。

  1. 或者检查指定配置文件
    命令:./nginx -t -c /usr/local/app/nginx/conf/nginx.conf

     
    检查 nginx 配置语法是否有误
平滑的重启
  1. 修改配置无误之后,重新加载配置启动 nginx 。进入 nginx 下的 sbin 目录下执行命令:
    执行重载命令:./nginx -s reload

  2. 平滑的重启 reload 处理过程:
    nginx 的架构是一个 master 进程和多个 worker 进程。其中 master 充当整个进程组与用户的交互接口,同时对进程进行监护,管理 worker 进程来实现重启服务、平滑升级、更换日志文件、配置文件实时生效等功能。worker 用来处理基本的网络事件,worker 之间是平等的,他们共同竞争来处理来自客户端的请求。

平滑的重启,重启的是 worker 进程, master 没有重启。处理过程:master 监听系统信号,如果 master 监听到系统信号 HUP 后,会先检查配置文件的有效性,如果新的配置文件应用失败,nginx 将继续使用旧的配置进行工作;如果配置文件没有问题就会重新 load 配置文件,创建若干个新的 worker 进程 N,新的 worker 进程会启动新的配置文件。然后 master 向旧的 worker 进程发送信号,优雅停机。最后依然是 N+1 个进程。

注:

  • 新的 worker 进程依旧监听原来的 port。因为 nginx 是父子进程模型,子进程继承了父进程的所有内容。因此,子进程也会监听相同的 port,又因为子进程没有执行 bind 操作,只有父进程才会进行 bind 操作。所以不会存在端口被占用。
  • 新 worker 进程用新的配置启动的时候,
    此时有 2N+1 给进程在监听原来的 port。1个 master + N 个新的 worker + N 个旧的 worker。
  • 平滑重启之后,发现 master 的进程号不变,worker 的进程号会改变。
  • 关闭旧的 worker 进程的时候,旧的 worker 子进程需要完成所属任务后,才可以关闭。如果遇到旧的worker 子进程正在进行任务,那么旧的子进程将继续为当前连接的客户提供服务,当所有的客户端服务完成后,旧的worker子进程被关闭。
Linux 重启之后自动启动 nginx
  1. 设置 Linux 重启之后 nginx 自动启动命令:systemctl enable nginx
  2. 查看状态,命令:systemctl is-enabled nginx 或者service nginx status
     
    查看 nginx 状态

查看某个服务的状态

关闭 nginx
  1. 进入 nginx 下的 sbin 目录下执行命令:
    快速停止 nginx 命令:./nginx -s stop
    完整有序的停止 nginx:./nginx -s quit;这个命令会等待所有请求结束后再关闭 nginx。

  2. 使用 kill 命令关闭 nginx

  • 先查看 nginx 进程,找到主进程号。然后再使用 kill 命令杀死 nginx 进程。
    查看 nginx 进程号命令:ps -ef | grep nginx
    从容停止 nginx 命令:kill -QUIT 主进程号
    快速停止 nginx 命令:kill -TERM 主进程号
    强制停止 nginx 命令:kill -HUP 主进程号
    平滑重启 nginx 命令:kill -9 nginx
    查找并杀死所有 nginx 进程:ps aux | grep nginx |awk '{print $2}' | xargs kill -9

[转帖]nginx 启动、重启、关闭命令详解的更多相关文章

  1. linux nginx启动 重启 关闭命令

    启动操作 nginx -c /usr/local/nginx/conf/nginx.conf -c参数指定了要加载的nginx配置文件路径 停止操作停止操作是通过向nginx进程发送信号来进行的 步骤 ...

  2. DBA_Oracle Startup / Shutdown启动和关闭过程详解(概念)

    2014-08-07 Created By BaoXinjian

  3. 【转帖】Linux定时任务Crontab命令详解

    Linux定时任务Crontab命令详解 https://www.cnblogs.com/intval/p/5763929.html 知道有crontab 以及 at 命令 改天仔细学习一下 讲sys ...

  4. [转帖]Docker学习之Dockerfile命令详解

    Docker学习之Dockerfile命令详解 https://it.baiked.com/system/docker/2436.html 图挺好的 前言 之前,制作镜像的伪姿势搭建已经见过了,今天介 ...

  5. [转帖]Nginx的超时keeplive_timeout配置详解

    Nginx的超时keeplive_timeout配置详解 https://blog.csdn.net/weixin_42350212/article/details/81123932   Nginx  ...

  6. Linux下 Nginx 启动 重启 关闭

    命令 nginx -s reload :修改配置后重新加载生效 nginx -s reopen :重新打开日志文件 nginx -t -c /path/to/nginx.conf 测试nginx配置文 ...

  7. docker启动,重启,关闭命令

    docker启动命令,docker重启命令,docker关闭命令 启动        systemctl start docker守护进程重启   sudo systemctl daemon-relo ...

  8. nginx -- 启动, 重启, 关闭

    Nginx的启动.停止与重启 重启:  nginx -s reload 启动 启动代码格式:nginx安装目录地址 -c nginx配置文件地址 例如: [root@LinuxServer sbin] ...

  9. crontab命令详解 含启动/重启/停止

    linux 系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的.另 外, 由于使用者自己也可以设置计划任务,所以, ...

  10. Linux/CentOS 服务安装/卸载,开机启动chkconfig命令详解|如何让MySQL、Apache开机启动?

    chkconfig chkconfig在命令行操作时会经常用到.它可以方便地设置和查询不同运行级上的系统服务.这个可要好好掌握,用熟练之后,就可以轻轻松松的管理好你的启动服务了. 注:谨记chkcon ...

随机推荐

  1. 云图说丨初识华为云OrgID:轻松实现统一帐号、统一授权

    本文分享自华为云社区<[云图说]第282期 初识华为云OrgID:轻松实现统一帐号.统一授权>,作者: 阅识风云 . 组织成员帐号 OrgID是面向企业提供组织管理.企业成员帐号管理以及S ...

  2. Ambient Mesh:Istio 数据面新模式

    摘要:基于Istio对于Kubernetes生态的完美补充,随着Kubernetes的大规模普及,Istio 数据面新模式 -Ambient MeshIstio也实现了对用户心智以及市场的快速抢占. ...

  3. 几款Java开发者必备常用的工具,准点下班不在话下

    摘要:一问一答的形式轻松学习掌握java工具. 以一问一答的形式学习java工具 Q:检查内存泄露的工具有?A: jmap生成dump转储文件,jhat可视化查看. Q:某进程CPU使用率一直占满,用 ...

  4. 5分钟体验代码仓托管、CloudIDE云端代码编辑、调试、运行

    摘要:您将学会如何通过代码托管(CodeHub)创建代码仓,解决软件开发者在跨地域协同.多分支并发.代码版本管理.安全性等方面的问题. 本文分享自华为云社区<5分钟体验代码仓托管.CloudID ...

  5. 一文带你熟悉Pytorch->Caffe->om模型转换流程

    摘要:本文旨在分享Pytorch->Caffe->om模型转换流程. 标准网络 Baseline:PytorchToCaffe 主要功能代码在: PytorchToCaffe +-- Ca ...

  6. 实例解析丨一文搞定GaussDB CM服务异常

    摘要:本文主要为大家带来如何处理GaussDB CM服务异常问题. 本文分享自华为云社区<[实例状态]GaussDB CM服务异常>,作者:酷哥. 首先确认是否是虚拟机.网络故障,底层故障 ...

  7. 想要做好软件测试,可以先了解AST、SCA和渗透测试

    摘要:如何做好安全测试,我们重点从应用程序安全测试AST.软件组成分析SCA和渗透测试三个方面来看一下. 本文分享自华为云社区<DevSecOps研发安全实践--测试篇>,作者:华为云Pa ...

  8. 火山引擎ByteHouse:ClickHouse如何保证海量数据一致性

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 背景 ClickHouse是一个开源的OLAP引擎,不仅被全球开发者广泛使用,在字节各个应用场景中也可以看到它的身 ...

  9. 抓包工具 Fiddler 抓取 exe 包

    浏览器访问网页,可以使用 Fiddler 直接抓去,如果是 exe的客户端,可以借助 Proxifier 工具 设置完成后,添加代理规则,排除fiddler,也就是让fiddler进行网络直连.不然f ...

  10. [VS Code] 入门-自定键盘快捷键

    Keyboard Shortcuts 自訂鍵盤快捷鍵 開啟設定面板 :點擊左下角管理圖示〉選擇「鍵盤快速鍵」. 編輯器開啟後,滑鼠移至變更項目上,點擊出現的變更圖示(橘框處),輸入要變更的快捷鍵組合. ...