zoukankan      html  css  js  c++  java
  • Nginx常用命令

    这边我将Nginx的命令分为两块,一块是Nginx的命令行命令,主要用来查看Nginx的安装信息,帮助信息等。还有一块就是Nginx的运维命令,主要用来启动关闭服务。

    命令行命令

    Nginx的命令行参数比较少,我们可以使用以下命令查看Nginx支持的命令:

    /var » nginx -h                  
    nginx version: nginx/1.17.2
    Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]
    
    Options:
      -?,-h         : this help
      -v            : show version and exit
      -V            : show version and configure options then exit
      -t            : test configuration and exit
      -T            : test configuration, dump it and exit
      -q            : suppress non-error messages during configuration testing
      -s signal     : send signal to a master process: stop, quit, reopen, reload
      -p prefix     : set prefix path (default: /usr/local/Cellar/nginx/1.17.2/)
      -c filename   : set configuration file (default: /usr/local/etc/nginx/nginx.conf)
      -g directives : set global directives out of configuration file
    

    下面分别对这些参数做下说明

    • nginx -h:查看帮助
    • nginx -v:查看nginx的版本
    • nginx -V:查看版本和nginx的配置选项
    • nginx -t:测试配置文件的正确性
    • Nginx -T: 测试配置文件,并显示配置文件(这个命令可以快速查看配置文件)
    • nginx -q:测试配置文件,但是只显示错误信息
    • nginx -s:发送信号,下面详细介绍
    • nginx -p:设置前缀
    • nginx -c:设置配置文件
    • nginx -g:附加配置文件路径

    运维命令

    运维命令主要用于对Nginx服务的启动、重启和停止等。Nginx可以接收的信号有:

    信号 作用
    TERM或INT 快速停止Nginx服务
    QUIT 平缓停止Nginx服务
    HUP 使用新的配置文件启动进程,之后平缓停止原有进程,“平滑重启”的功能
    USR1 重新打开日志文件,常用于日志切割
    USR2 使用新版本的Nginx文件启动服务,之后平缓停止原有进程,“平滑升级”的功能
    WINCH 平缓停止worker进程,用于Nginx服务器平滑升级
    kill SIGNAL PID
    或者
    nginx -s [option]
    

    服务启动

    # nginx
    # 当然我们可以只用-c选项制定配置文件,不指定的话就是使用默认的配置
    # nginx -c [path]
    

    直接运行nginx的二进制文件,没有报错则表明服务已经启动了。可以使用ps命令查看进程。

    服务停止

    停止nginx服务的方法有很多,建议使用下面的第一和第二种。

    # 立即停止
    # nginx -s stop 
    或者
    # 平滑停止
    # nginx -s quit
    或者
    # kill TERM | INT | QUIT PID
    或者(不建议这么停止服务)
    # kill -9 PID
    

    服务重启

    更改Nginx服务器的配置和加入新模块后,如果希望当前的Nginx服务应用新的配置或使新模块生效,就需要重启Nginx服务。当然我们可以先关闭Nginx服务,然后使用新的Nginx配置文件重启服务。

    这里主要介绍Nginx服务的平滑重启。平滑重启是这样一个过程:Nginx服务进程接收到信号后,首先读取新的Nginx配置文件,如果配置语法正确,则启动新的Nginx服务,然后平缓关闭旧的服务进程;如果新的Nginx配置有问题,将显示错误,仍然使用旧的Nginx进程提供服务。

    # 平滑重启服务
    # nginx -s reload
    或者
    # kill HUP PID
    

    服务平滑升级

    平滑升级是指:当需要将正在运行中的Nginx升级、添加/删除服务器模块时,可以在不中断服务的情况下,使用新版本、重编译的Nginx可执行程序替换旧版本的可执行程序。

    平滑升级的过程是这样的,Nginx服务接收到USR2信号后,首先将旧的nginx.pid文件(如果在配置文件中更改过这个文件的名字,也是相同的过程)添加后缀.oldbin,变为nginx.pid.oldbin文件;然后执行新版本Nginx服务器的二进制文件启动服务。如果新的服务启动成功,系统中将有新旧两个Nginx服务共同提供Web服务。之后,需要向旧的Nginx服务进程发送WINCH信号,使旧的Nginx服务平滑停止,并删除nginx.pid.oldbin文件。在发送WINCH信号之前,可以随时停止新的Nginx服务。

    为了实现Nginx服务器的平滑升级,新的服务器安装路径应该和旧的保持一致。因此建议用户在安装新服务器之前先备份旧服务器。如果由于某种原因无法保持新旧服务器安装路径一致,则可以先使用以下命令将旧服务器的安装路径更改为新服务器的安装路径:

    nginx -p newInstallPath
    

    其中,newInstallPath为新服务器的安装路径。之后,备份旧服务器,安装新服务器即可。做好准备工作以后,使用以下命令实现Nginx服务的平滑升级:

    nginx -g USR2
    

    通过ps -ef | grep nginx查看新的Nginx服务启动正常,启动正常以后再使用以下命令

    nginx -g WINCH
    

    WINCH信号用于发送平滑停止旧服务信号。这样就在不停止提供Web服务的前提下完成了Nginx服务器的平滑升级。

    人生的主旋律其实是苦难,快乐才是稀缺资源。在困难中寻找快乐,才显得珍贵~
  • 相关阅读:
    bzoj4810 [Ynoi2017]由乃的玉米田 bitset优化+暴力+莫队
    Ionic Js六:切换开关操作
    Ionic Js五:单选框操作
    Ionic Js四:复选框
    Ionic Js三:下拉刷新
    Ionic Js二:背景层
    Ionic Js一:上拉菜单(ActionSheet)
    Ionic入门十:icon(图标)
    Ionic入门九:颜色
    Ionic入门八:头部与底部
  • 原文地址:https://www.cnblogs.com/54chensongxia/p/12938469.html
Copyright © 2011-2022 走看看