nginx可以通过向其发送信号来进行管理。默认情况下主进程的进程ID写到文件/usr/local/nginx/logs/nginx.pid中。当然也可以在配置文件中自定义该pid文件,自定义使用pid指令来进行修改。主进程支持如下信号:

TERM, INT fast shutdown
QUIT graceful shutdown
HUP changing configuration, keeping up with a changed time zone (only for FreeBSD and Linux), starting new worker processes with a new configuration, graceful shutdown of old worker processes
USR1 re-opening log files
USR2 upgrading an executable file
WINCH graceful shutdown of worker processes

尽管不是必须,单个的工作进程同样可以通过下列信号进行控制。工作进程支持如下信号:

TERM, INT fast shutdown
QUIT graceful shutdown
USR1 re-opening log files
WINCH abnormal termination for debugging (requires debug_points to be enabled)

改变配置文件

为使nginx重新读取配置文件,可以想主进程发送一个HUB信号。主进程首先检测语法的有效性,然后尝试应用到新的配置中即打开日志文件和新的监听套接字:若失败,主进程回滚到改变前的配置,并继续使用旧的配置运行。若成功则开启新的工作进程,给旧的工作进程发送完整性关闭命令,旧的工作进程关闭监听套接字,继续处理旧的请求并返回给客户端,当所有的客户端请求处理完后,旧的工作进程关闭。

举个例子,假定nginx运行在FreeBSD 4.X之上,命令如下:

ps axw -o pid,ppid,user,%cpu,vsz,wchan,command | egrep '(nginx|PID)'

打印出如下内容:

  PID  PPID USER    %CPU   VSZ WCHAN  COMMAND
33126     1 root     0.0  1148 pause  nginx: master process /usr/local/nginx/sbin/nginx
33127 33126 nobody   0.0  1380 kqread nginx: worker process (nginx)
33128 33126 nobody   0.0  1364 kqread nginx: worker process (nginx)
33129 33126 nobody   0.0  1364 kqread nginx: worker process (nginx)

向主进程发送HUP信号后,打印出如下内容:

  PID  PPID USER    %CPU   VSZ WCHAN  COMMAND
33126     1 root     0.0  1164 pause  nginx: master process /usr/local/nginx/sbin/nginx
33129 33126 nobody   0.0  1380 kqread nginx: worker process is shutting down (nginx)
33134 33126 nobody   0.0  1368 kqread nginx: worker process (nginx)
33135 33126 nobody   0.0  1368 kqread nginx: worker process (nginx)
33136 33126 nobody   0.0  1368 kqread nginx: worker process (nginx)

可以看到PID为33129的旧工作进程正在处理请求中。过一段时间后再观察,发现它已经关闭掉了:

 PID  PPID USER    %CPU   VSZ WCHAN  COMMAND
33126     1 root     0.0  1164 pause  nginx: master process /usr/local/nginx/sbin/nginx
33134 33126 nobody   0.0  1368 kqread nginx: worker process (nginx)
33135 33126 nobody   0.0  1368 kqread nginx: worker process (nginx)
33136 33126 nobody   0.0  1368 kqread nginx: worker process (nginx)

 ---出去一段时间

转载于:https://www.cnblogs.com/davidwang456/p/3427508.html

nginx 学习笔记(3) nginx管理相关推荐

  1. nginx 学习笔记(2) nginx新手入门

    这篇手册简单介绍了nginx,并提供了一些可以操作的简单的工作.前提是nginx已经被安装到你的服务器上.如果没有安装,请阅读上篇:nginx 学习笔记(1) nginx安装.这篇手册主要内容:1. ...

  2. nginx 学习笔记(1) nginx安装

    1.nginx安装 根据操作系统的不同,nginx的安装方式也不相同. 1.1 对linux系统来说,nginx.org提供了nginx安装包.http://nginx.org/en/linux_pa ...

  3. nginx学习笔记(7)Nginx如何处理一个请求---转载

    如何防止处理未定义主机名的请求 基于域名和IP混合的虚拟主机 一个简单PHP站点配置 基于名字的虚拟主机 Nginx首先选定由哪一个虚拟主机来处理请求.让我们从一个简单的配置(其中全部3个虚拟主机都在 ...

  4. nginx 学习笔记(5) nginx调试日志

    为启动一个调试日志,nginx需要在构建时配置城支持调试模式. ./configure --with-debug ... 而且调试级别应该使用err_log指令来设置: err_log /path/t ...

  5. nginx 学习笔记(6) nginx配置文件中的度量单位

    容量大小可以用比特(byte),千比特(kilobyte,后缀k或者K)或者兆(megabytes,后缀m或者M),例如:"1024","8k","1 ...

  6. Nginx学习笔记09——URLRewrite伪静态

    URLRewrite 伪静态配置 因为jsp获取url参数很方便,所以需要将tomcat服务器上的index.html转为jsp格式的,方式是在html文件开头加上<%@ page conten ...

  7. Nginx 学习笔记

    Nginx 学习笔记 文章目录 Nginx 学习笔记 1.Nginx 的简介 1.1正向代理 1.2反向代理 1.3负载均衡 1.4动静分离 1.5Nginx的安装 1.6Nginx的常用命令 1.7 ...

  8. 全是精髓!也许是最完美的“Nginx学习笔记”了,阿里云高工“365”天手写!

    前言 "Nginx",一个高性能的HTTP和反向代理web服务器,Nginx因为内存少.并发能力强的特性,深受虚拟机主机提供商的欢迎,可以支持高达50000个并发连接数的响应.Ng ...

  9. nginx学习笔记-01nginx入门,环境搭建,常见命令

    nginx学习笔记-01nginx入门,环境搭建,常见命令 文章目录 nginx学习笔记-01nginx入门,环境搭建,常见命令 1.nginx的基本概念 2.nginx的安装,常用命令和配置文件 3 ...

最新文章

  1. Docker 命令自动补全必须有
  2. arcface mxnet转onnx
  3. php xdebug安装配置与调试php技巧
  4. Firefox 66 将阻止自动播放音频和视频
  5. jdbc事务和事务的隔离级别
  6. Silverlight学习日记(三)
  7. 串口的输出设置【原创】
  8. 15_传智播客iOS视频教程_OC语言完全兼容C语言
  9. 2 imwrite中文路径_如何为FreePBX/Asterisk配置中文语音支持
  10. 节后上班 北京车辆尾号限行2日轮换
  11. 创邻科技荣登机器之心Pro·AI 趋势先锋 Insight 榜单
  12. 用时一个半个月,七月刚入职字节跳动的测试开发面试题,内附答案
  13. Dreamweaver CS6 行为概述
  14. 用户特殊权限SUID,SGID, SBIT理解学习
  15. 微带线特性阻抗计算公式_HFSS 计算 微带线 特征阻抗
  16. 多张图片转换成一个swf文件播放
  17. OpenCV 最小二乘+距离最小拟合圆
  18. Oracle死锁问题: enq: TX - allocate ITL entry
  19. 洛谷P1088.火星人【模拟/搜索/康托展开】
  20. 海思AI芯片(Hi3519A/3559A)方案学习(十七)开发板上运行yolo3模型的代码分析

热门文章

  1. html 文件上传与移除,js jquery分别实现动态的文件上传操作按钮的添加和删除
  2. linux的ip地址是127,Linux的IP地址显示127.0.0.1的解决办法
  3. 数组传参中形参的秘密,以及数组名当作函数实际参数的特点,以及二维数组,以及外部变量和全局变量
  4. php 新闻列表,php原生开发新闻站之新闻列表(二)
  5. php-fmp开机启动,php-fpm设置成服务并开机自动启动
  6. C++用顶层函数重载操作符(三)用友元优化
  7. sql item_map
  8. pythonspark集群模式运行_有关python numpy pandas scipy 等 能在YARN集群上 运行PySpark
  9. 安卓惯性传感器(一)
  10. anaconda下tensorflow安装遇到的问题记录及解决办法