<em id="1rarx"><ins id="1rarx"></ins></em><sup id="1rarx"></sup>

<progress id="1rarx"><tr id="1rarx"></tr></progress>
<sup id="1rarx"><menu id="1rarx"></menu></sup>
<menuitem id="1rarx"></menuitem><optgroup id="1rarx"><small id="1rarx"><sub id="1rarx"></sub></small></optgroup>

    <sup id="1rarx"><menu id="1rarx"></menu></sup>
    <div id="1rarx"></div><div id="1rarx"><tr id="1rarx"><object id="1rarx"></object></tr></div>
      <em id="1rarx"></em>

          运行和控制Nginx

          2012年7月20日 发表评论 阅读评论
          1. Nginx命令行选项
          2. 启动、停止、重启nginx命令
          3. 如何重新加载nginx配置文件
          4. nginx程序不重启平滑升级可执行文件

           

          nginx命令行参数

          不像许多其他软件系?#24120;琋ginx 仅有几个命令行参数,完全通过配置文件来配置

          -c </path/to/config> 为 Nginx 指定一个配置文件,来代替缺省的。

          -t 不运行,而仅仅测试配置文件。nginx 将检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件。

          -v 显示 nginx 的版本。

          -V 显示 nginx 的版本,编译器版本和配置参数。

           

          nginx控制信号

          可以使用信号系统来控制主进程。默认,nginx 将其主进程的 pid 写入到 /usr/local/nginx/nginx.pid 文件中。通过传递参数给 ./configure 或使用 pid 指令,来改变该文件的位置。

          主进程可以处理以下的信号:

          TERM, INT 快速关闭
          QUIT 从容关闭
          HUP 重载配置
          用新的配置开始新的工作进程
          从容关?#31449;?#30340;工作进程
          USR1 重新打开日志文件
          USR2 平滑升级可执行程序。
          WINCH 从容关闭工作进程

          尽管你不必自己操作工作进程,但是,它们也支持一些信号:

          TERM, INT 快速关闭
          QUIT 从容关闭
          USR1 重新打开日志文件

           

          nginx 启动、停止、重启命令

          nginx启动

          sudo /usr/local/nginx/nginx ? ? (nginx二进制文件绝?#26376;?#24452;,可以根据自己安装路径实?#31034;?#23450;)

           

          nginx从容停止命令,等所有请求结束后关闭服务

          ps -ef |grep nginx

          kill -QUIT ?nginx主进程号

           

          nginx 快速停止命令,立刻关闭nginx进程

          ps -ef |grep nginx

          kill -TERM nginx主进程号?

          如果以上命令不管用,可以强制停止

          kill -9 nginx主进程号

           

          如果嫌麻烦可以不用查看进程号,直接使用命令进行操作
          其中/usr/local/nginx/nginx.pid 为nginx.conf中pid命令设置的参数,用来存放nginx主进程号的文件
          kill -信号类型(HUP|TERM|QUIT) cat /usr/local/nginx/nginx.pid
          例如

          nginx重启命令

          nginx重启可以分成几种类型

          1.简单?#20572;?#20808;关闭进程,修改你的配置后,重启进程。
          kill -QUIT cat /usr/local/nginx/nginx.pid
          sudo /usr/local/nginx/nginx
          2.重新加载配置文件,不重启进程,不会停止处理请求
          3.平滑更新nginx二进制,不会停止处理请求

           

          使用信号加载新的配置

          Nginx 支持几个信号,能在它运行时控制其操作。其中最普通的是 15 ,用来中止运行的进程:

          而最有趣的是能平滑改变 nginx 配置的选项(请注意,在重载前,要先测试一下配置文件):

           

          当 nginx 接收到 HUP 信号,它会尝试先解析配置文件(如果指定配置文件,就使用指定的,否则使用默认的),成功的话,就应用新的配置文件(例如:重新打开日志文件或监听的套接 字)。之后,nginx 运行新的工作进程并从容关?#31449;?#30340;工作进程。通知工作进程关闭监听套接字但是继续为当前连接的客户提供服务。所有客户端的服务完成后,旧的工作进程被关闭。 如果新的配置文件应用失败,nginx 将继续使用旧的配置进行工作。

           

          平滑升级到新的二进制代码

          你可以在不中断服务的情况下 - 新的请求也不会丢失,使用新的 nginx 可执行程序替换旧的(当升级新版本或添加/删除服务器模块时)。

          首先,使用新的可执行程序替换旧的(最好做好备份),然后,发送 USR2 (kill -USR2 pid)信号给主进程。主进程将重命名它的 .pid 文件为 .oldbin (比如:/usr/local/nginx/logs/nginx.pid.oldbin),然后执行新的可执行程序,?#26469;?#21551;动新的主进程和新的工作进程:

           

          在这时,两个 nginx 实例会同时运行,一起处理输入的请求。要逐步停止旧的实例,你必须发送 WINCH 信号给旧的主进程,然后,它的工作进程就将开始从容关闭:

           

          一段时间后,旧的工作进程处理了所有已连接的请求后退出,就仅由新的工作进程来处理输入的请求了:

           

          这时,因为旧的服务器还尚未关闭它监听的套接字,所以,通过下面的几步,你仍可以?#25351;?#26087;的服务器:

          • 发送 HUP 信号给旧的主进程 - 它将在不重载配置文件的情况下启动它的工作进程
          • 发送 QUIT 信号给新的主进程,要求其从容关闭其工作进程
          • 发送 TERM 信号给新的主进程,迫使其退出
          • 如果因为某些原因新的工作进程不能退出,向其发送 KILL 信号

          新的主进程退出后,旧的主进程会由移除 .oldbin 前缀,?#25351;?#20026;它的 .pid 文件,这样,一切就都?#25351;?#21040;升级之前了。

          如果尝试升级成功,而你也希望保留新的服务器时,发送 QUIT 信号给旧的主进程使其退出而只留下新的服务器运行:

           

          1. 22
            2019年4月19日09:41 | #1

            @大木爻手
            你那是将运行文件添加到/usr/sbin和/usr/bin,全局使用。

          2. ye
            2019年1月8日11:02 | #2

            不错!-!,以前学习的时候有提到过,不过很模糊,现在有个更清晰的认识

          3. icey
            2018年12月21日17:38 | #3

            @test
            因为不满足一个软件的简单使用方法,想要了解更多的运行原理等

          4. test
            2018年11月30日15:38 | #4

            @kkt
            所以是为什么呢

          5. kkt
            2018年11月23日17:20 | #5

            @大木爻手
            因为你不知道,不了解,才会问出这样的疑问吧?

          6. 大木爻手
            2018年10月17日10:47 | #6

            启动不是直接 nginx
            退出不是 nginx -s stop
            为什么文章要写的这么麻?#24120;?#26432;线程?

          7. 2018年2月1日18:03 | #7

            学习了。不错。

          8. 2017年10月24日15:44 | #8

            abc :
            这个不错

          9. 2017年5月31日10:04 | #9

            不错,顶一个!!!!

          10. 2016年9月12日17:18 | #10

            有用!!!

          11. 2015年6月24日12:01 | #11

            ngnix :sudo service nginx configtest
            [FAIL] Testing nginx configuration: failed !

          12. ternus
            2015年6月13日20:02 | #12

            学习了,平滑升级这点命令有点少啊。

          13. abc
            2015年4月1日21:16 | #13

            这个不错

          14. 2015年2月9日15:02 | #14

            嗯 这一条很好,很重要

          15. Echo
            2014年1月13日22:33 | #15

            Nice~!

          16. pinefantasy
            2013年11月27日18:58 | #16

            通过传递参数给 ./configure 或使用 pid 指令,来改变该文件的位置。---这个没看懂,记住pid做什么呢

            • mood
              2013年11月27日21:32 | #17

              重启或者关闭的时候会读pid

            • 2014年4月15日07:36 | #18

              方便信号控制进程,不用?#30475;?#37117;ps -ef |grep nginx来查看nginx的pid

          17. dayphosphor
            2013年10月15日17:39 | #19

            超不错~~

          18. jay61439476
            2012年12月24日10:09 | #20

            不错 这对实际生产很有帮助

          印度快乐8官网
          <em id="1rarx"><ins id="1rarx"></ins></em><sup id="1rarx"></sup>

          <progress id="1rarx"><tr id="1rarx"></tr></progress>
          <sup id="1rarx"><menu id="1rarx"></menu></sup>
          <menuitem id="1rarx"></menuitem><optgroup id="1rarx"><small id="1rarx"><sub id="1rarx"></sub></small></optgroup>

            <sup id="1rarx"><menu id="1rarx"></menu></sup>
            <div id="1rarx"></div><div id="1rarx"><tr id="1rarx"><object id="1rarx"></object></tr></div>
              <em id="1rarx"></em>

                  <em id="1rarx"><ins id="1rarx"></ins></em><sup id="1rarx"></sup>

                  <progress id="1rarx"><tr id="1rarx"></tr></progress>
                  <sup id="1rarx"><menu id="1rarx"></menu></sup>
                  <menuitem id="1rarx"></menuitem><optgroup id="1rarx"><small id="1rarx"><sub id="1rarx"></sub></small></optgroup>

                    <sup id="1rarx"><menu id="1rarx"></menu></sup>
                    <div id="1rarx"></div><div id="1rarx"><tr id="1rarx"><object id="1rarx"></object></tr></div>
                      <em id="1rarx"></em>

                          福建31选7几点开奖 十一选五电视走势图下载 排列3近5O0期 江苏11选5遗漏查询 七乐彩走势图表图30期 福建11选5走势图彩经网 上海基诺 沙井急速赛车场 山东群英会走势图 HOME-大乐透模拟摇奖器 福利彩票上海快三走势图 玩新疆时时彩qq群 江苏时时彩组三的几率 双色球中彩网连号查询表 河北时时彩直选