zoukankan      html  css  js  c++  java
  • nginx的启动、停止、重载配置、验证配置

    【1】启动

    启动nginx系统方式:

    (1)命令

    nginx -c /usr/local/nginx/conf/nginx.conf 

    说明:-c 参数指定运行nginx系统的自定义配置文件。

    若加:使用自定义配置文件。实例请参见下文【停止】nginx系统的方式贴图。

    若不加:使用默认的nginx.conf(一般位于/usr/local/conf/nginx.conf,具体以实际情况为准)

    如下实例效果:

    即nginx系统选择默认的配置文件

    (2)shell脚本

    新建start.sh文件,输入内容:

    nginx -p `pwd`/.. -c conf/nginx.conf

    需要启动时,执行./start.sh 即可

    【2】停止

    关闭nginx系统方式:

    (1)命令

    当nginx启动后,可以使用“-s”参数向nginx管理进程(即master进程)发送信号来控制nginx:nginx -s signal

    其中,signal可以是以下值:

      [1] stop:快速关闭

      [2] quit:安全关闭

      [3] reload:重载配置文件

      [4] reopen:重新打开一个log文件,主要用于日志切割

    quit信号,通知nginx等待worker进程处理完当前的请求后退出,此命令只能由启动nginx的linux账户来执行。

    reload信号,通知nginx重新载入配置文件nginx.conf。 除了使用reload外,nginx只会在启动时载入一次配置文件,之后对配置文件的修改不会实时对已经运行的nginx进程生效。

    当运行这个命令时,master进程会尝试读取配置文件,如果配置文件没有问题(配置文件有问题怎么验证呢?请看下文):

    master进程会启动新的worker进程来运行新的配置文件并处理请求,同时会通知老的worker进程不再处理新的请求并在处理完当前任务后退出。

    如果配置文件存在问题不能执行,master进程会回退老配置文件继续工作,不会导致nginx进程整个异常退出。

    linux的kill命令也可以达到相同的作用,假设nginx的master进程号(pid)是123456,那么 kill -s QUIT 123456 和 kill -s HUP 123456 这两条命令和前面quit、reload的作用相同。

    关闭nginx命令1:

    nginx -s quit

    应用实例:

    注意:必须使用启动nginx的用户执行此命令。

    关闭nginx命令2:

    kill -s quit PID

    应用实例:

    如上实例效果。

    (2)shell脚本

    新建stop.sh文件,输入内容:

    nginx -p `pwd`/.. -c conf/nginx.conf -s quit

    需要关闭系统时,执行./stop.sh即可

    【3】重载配置

    重新加载配置文件

    (1)命令

    nginx -s reload

    应用实例如下:

    注意:reload重新加载的配置,仍为启动nginx系统时运行的配置文件(应用场景:可能会因业务需求调整,对配置文件做修改,估需重新加载之,也称热部署)

    (2)shell脚本

    新建reload.sh文件,输入内容:

    nginx -p `pwd`/.. -c conf/nginx.conf -s reload

    需要重新加载配置文件时,执行./reload.sh即可。

    【4】验证配置

    为什么要验证配置呢?

    试想一个场景,线上nginx系统正在正常运行。

    现因某种原因,需重新加载一下配置文件,但是,在加载之前,你不确定刚编辑完成的配置文件是否正确(例如:语法等等规范性)

    只有配置文件语法等等正确,加载后才会被系统重新读取并利用,否则,系统会回退原配置文件继续运行!!

    因此,在加载配置文件之前,最好先验证一下配置文件的正确性。这样可以确保加载更有把握,更稳妥。

    验证配置文件方式

    (1)命令

    验证默认配置文件

    nginx -t

    验证自定义配置文件

    nginx -t -c /home/test/conf/nginx.conf

    应用实例如下:

    注意:两个红色框中的命令等价

    (2)shell脚本

    新建testconf.sh,输入内容:

    nginx -p `pwd`/.. -c conf/nginx.conf -t

    需要验证配置文件时,执行./testconf.sh即可。

    备注:以上所有shell脚本,建议在conf同目录新建一个bin目录放置所有控制脚本即可。

    Good Good Study, Day Day Up.

    顺序 选择 循环 总结

  • 相关阅读:
    20个热门jQuery的提示和技巧
    10个原生JavaScript技巧
    HTML5开发 BUG解决
    JS笔试题
    AMD:浏览器中的模块规范
    Win8 App使用Listview的简单方法
    Javascript模块化编程
    移动端插件IScroll.js
    移动web资源概论
    Commonjs规范中module.exports和exports的区别
  • 原文地址:https://www.cnblogs.com/Braveliu/p/10678576.html
Copyright © 2011-2022 走看看