zoukankan      html  css  js  c++  java
  • Nginx命令行控制

                              Nginx命令行控制
      在linux系统中,我们需要使用命令行来控制Nginx服务的启动和停止、重载配置文件、回滚日志文件与平滑升级等操作,本篇文章简单记录Nginx常用命令行的使用。
      nginx默认安装在/usr/local/nginx/中,配置文件默认路径为/usr/local/nginx/conf/nginx.conf,以下记录是默认情况下的命令行,编译安装时自定义路径的,需要更改命令中的路径。
     
    1.默认方式启动nginx
    /usr/local/nginx/sbin/nginx
    这时nginx会读取路径下的配置文件:/usr/local/nginx/conf/nginx.conf
    如果你是源码安装而且使用configure命令执行时使用--conf-path=PATH指定了nginx.conf的话,默认方式启动的nginx会去读取指定的nginx.conf文件。
     
    2.指定配置文件启动
    /usr/local/nginx/sbin/nginx -c /tmp/nginx.conf
    可以通过-c参数来指定nginx.conf配置文件
     
    3.指定安装目录启动
    /usr/local/nginx/sbin/nginx -p /usr/local/nginx/
    可以通过-p参数来指定安装目录。
     
    4.指定全局配置项启动
    /usr/local/nginx/sbin/nginx -g "pid /var/nginx/test.pid;"
    可以通过-g参数来指定一些全局配置项,以致指定的配置项生效。如上面就通过-g来指定pid参数的值为/var/nginx/test.pid。
    ⚠️:使用-g参数指定全局配置项的话,有俩点是需要特别注意的。其一,-g指定的参数值不能和nginx.conf文件中的配置项冲突,比如我使用-g指定了pid参数值为/var/nginx/test.pid,但是在nginx.conf文件中又写明pid参数值为/var/log/nginx.pid,这样会造成nginx无法正常启动。其二,你使用-g启动的nginx服务,在执行其它命令时也需要加上-g以及指定的配置项,不然的话可能会出现配置项不匹配的问题。比如我指定pid文件启动nginx,但是我暂停nginx服务时,不加上启动时的参数,会造成nginx找不到对应的pid文件,无法暂停nginx服务。
     
    5.测试配置信息
    /usr/local/nginx/sbin/nginx -t
    nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
    nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
    在不启动nginx的情况下,使用-t参数可以测试nginx的配置文件是否存在错误,执行结果会显示配置是否正确。
     
    6.测试时不显示信息
    /usr/local/nginx/sbin/nginx -t -q
    在测试nginx配置时,可以添加-q选项,nginx不会将error等级以下的信息输出到屏幕上。
     
    7.查看nginx版本
    /usr/local/nginx/sbin/nginx -v
    可以通过-v参数来查看nginx的版本信息。
     
     
    8.查看编译参数
    /usr/local/nginx/sbin/nginx -V
    
    使用-V选项,不仅仅可以查看nginx的版本信息,还可以查看编译阶段的信息。如GCC编译器版本、操作系统版本、configure参数等等。
     
    9.快速停止服务
    /usr/local/nginx/sbin/nginx -s stop
    通过-s选项,给nginx发送信号量stop,可以强制停止nginx服务。
     
    10.优雅的停止服务
    /usr/local/nginx/sbin/nginx -s quit
    使用quit退出与stop退出的不同就在于,quit不是粗暴的直接kill掉nginx服务,而是先关闭监听接口,停止接收新的连接,然后把当前需要处理的连接全部都处理完,最后再优雅的退出服务。
     
    11.重载配置
    /usr/local/nginx/sbin/nginx -s reload
    该命令可以在nginx运行时重载nginx.conf配置文件。其实际实现是先检测新的配置是否正确,如果正确的话以优雅的方式停止服务,在重新启动nginx服务。
     
    12.日志文件回滚
    /usr/local/nginx/sbin/nginx -s reopen
    使用reopen参数可以重新打开日志文件,这样可以将日志文件改名或者进行备份,在重新打开的时候就会生成新的日志文件。
     
    13.平滑升级nginx
    一般情况应用的升级都是需要重启服务的,但是nginx支持不重启服务来完成新版本的平滑升级。
    1.通过正在运行的nginx准备升级
    kill -s SIGUSR2 <nginx master pid>
    这时,运行中的nginx将会把pid文件重命名,使得新的nginx不会因为pid文件而无法启动。
    2.启动新版本的nginx,启动命令看前文
    3.kill掉旧的nginx进程,完成平滑升级
     
    14.帮助文档
    可以使用-h参数或者-?参数可以显示支持的所有命令行参数。
     
     
  • 相关阅读:
    POJ1239
    HDU 2829 四边形不等式优化
    返回数字二进制的最高位位数o(n)
    矩阵快速幂 模板
    HDU4718 The LCIS on the Tree(LCT)
    HDU4010 Query on The Trees(LCT)
    HDU3487 Play With Chains(Splay)
    CF444C DZY Loves Colors
    HDU4836 The Query on the Tree(树状数组&&LCA)
    HDU4831&&4832&&4834
  • 原文地址:https://www.cnblogs.com/52why/p/13183214.html
Copyright © 2011-2022 走看看