首页 > 技术文章 > nginx常用命令

wsongl 2018-09-18 16:27 原文

Nginx的信号控制:

TERM,INT 快速关闭;

QUIT  从容关闭;

HUP  平滑重启,重新加载配置文件;

USR1  重新打开日志文件,在切割日志时用途较大;

USR2  平滑升级可执行程序;

WINCH  从容关闭工作进程;

 

1. 启动nginx

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

2. 停止nginx

  1>.从容停止nginx

    kill - QUIT nginx主进程号

    kill - QUIT `/usr/local/nginx/logs/nginx.pid`

  2>.快速停止nginx

    kill - TERM nginx主进程号

    kill - TERM `/usr/local/nginx/logs/nginx.pid`

    或者

    kill - INT nginx主进程号

    kill - INT `/usr/local/nginx/logs/nginx.pid`

  3>.强制停止nginx

    pkill -9 nginx

    killall nginx

3. 重启nginx

  <提示> 重启前最好先校验nginx配置文件。

  /usr/local/nginx/sbin/nginx -t [-c /usr/local/nginx/conf/nginx.conf]

  kill -HUP nginx主进程号

  kill -HUP `/usr/local/nginx/logs/nginx.pid`

4. 升级nginx

   不中断服务下,升级nginx。

  1.>. /usr/local/nginx/sbin/nginx -V  #查看原版本

  2>. ./configure [参数]

  3>. make   ### 不要make install

  4>. mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak    #备份原来的nginx可执行文件

  5>. cp objs/nginx /usr/local/nginx/sbin/nginx           #objs目录在源码安装包根目录下

  6>. /usr/local/nginx/sbin/nginx -t                              #检测nginx文件配置

  7>. kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`               #把nginx.pid改成nginx.pid.oldbin,跟着启动新的nginx
  8>. kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`     #退出旧的nignx

5. 常用其他命令

  nginx -h

  nginx -c /path/to/nginx.conf // 以特定目录下的配置文件启动nginx:
  nginx -s reload // 修改配置后重新加载生效
  nginx -s reopen // 重新打开日志文件
  nginx -s stop // 快速停止nginx
  nginx -s quit // 完整有序的停止nginx
  nginx -t // 测试当前配置文件是否正确
  nginx -t -c /path/to/nginx.conf //测试特定的nginx配置文件是否正确

推荐阅读