• 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参数或者-?参数可以显示支持的所有命令行参数。
     
     
  • 相关阅读:
    32位和64位的区别
    Git--版本管理的使用及理解
    Maven使用详解
    记录centos7下tomcat部署war包过程
    SSM三大框架整合教程
    Mybatis 框架搭建实例
    Eclipse 出现select type (? = any character,*= any String,Tz=TimeZone)
    JDBC 操作数据库实例
    mysql 常用命令语法
    MySQL下载安装详情教程(Windows)
  • 原文地址:https://www.cnblogs.com/52why/p/13183214.html
Copyright © 2020-2023  润新知