nginx运行和控制

1、Nginx命令行参数

 Nginxj仅有几个命令行参数,完全通过配置文件来配置

    -c  </path/to/config> :为Nginx指定一个配置文件,来代替缺省的。

-t :不运行,仅仅测试配置文件。检查配置文件的语法的正确性。

-v:显示nginx的版本。

-V:显示nginx的版本,编译器版本和配置参数。

2、Nginx控制信号

Nginx可以使用信号系统来控制主进程。默认,nginx将主进程的pid写入到/usr/local/nginx/nginx.pid文件中。通过传递参数给./configure或使用pid指令,来改变该文件的位置。

主进程处理的信号:

  TERM,INT  快速关闭

  QUIT        从容关闭

  KILL         杀死影响的进程

  HUP       重新配置,用新的配置开始新的工作进程从容关闭旧的工作进程

  USR1       重新打开日志文件

  USR2     平滑升级可执行程序

  WINCH      配合USR2使用,关闭主进程

信号使用方式

  kill -信号 `cat /usr/local/nginx/nginx.pid`

详解

  1、TERM,INT:nginx的进程马上被关闭,不能完整处理正在使用的nginx的用户的请求,等同于/usr/local/nginx -s stop

    eg:kill -TERM(INT)  进程号

  2、QUIT:nginx主进程号从容的关闭nginx进程,在处理完所有正在使用nginx用户请求后再关闭nginx进程,等同于/usr/local/nginx -s quit

   eg:kill -QUIT 进程号

  3、HUP :nginx进程不关闭,但是重新加载配置文件。等同于/usr/local/nginx -s reload

   eg:kill -HUP 进程号

  4、USR1:不关闭nginx进程就可以重读日至,用于nginx的日志定时备份,按月/日等时间间隔分割。

     eg:kill -USR1 进程号

  5、USR2:nginx的版本需要升级时候,不需要停止nginx,就能对nginx升级。

    eg:kill -USR2 进程号

  6、WINCH:配合USR2对nginx升级,从容的关闭nginx就版本的进程

    eg:kill -WINCH 进程号

3、启动、停止、重启

  启动:

    /usr/local/nginx/nginx

  停止:

    从容停止,等所有请求结束后关闭服务

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

    停止,立即关闭nginx进程

      kill -TERM(INT)`cat /usr/local/nginx/nginx.pid`

    强制停止

      kill -9 `cat /usr/local/nginx/nginx.pid`

  重启:

    先关闭进程,修改配置后,重启进程

      kill -QUIT `cat /usr/local/nginx/nginx.conf`

      /usr/local/nginx/nginx

    重新加载配置文件,不重启,不会停止处理请求

      /usr/local/nginx/nginx -s reload

         #检查配置文件 nginx -t -c /usr/local/nginx/conf/nginx.conf

      或者 使用信号

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

4、平滑升级

 可以在不终端服务的情况下,新的请求也不会丢失,使用新的nginx可执行程序替换旧的。

  a、安装新版本的可执行文件nginx,备份旧的为nginx.old,使用新的nginx。

  b、发送USR2信号给主进程,主进程会将nginx.pid更名为nginx.pig.oldbin,然后执行新的可执行程序,依次启动新的主进程和新的工作进程。

    kill -USR2 `cat /usr/local/nginx/nginx.pid`

  c、此时新旧进程同时存在,使用WINCH信号给旧的主进程,从容关闭。此时服务器尚未关闭监听的套接字!

        kill -WINCH `cat /usr/local/nginx/nginx.pid.oldbin`

  d、退出旧的主进程,只留下新的服务器

    kill -QUIT `cat /usr/local/nginx/nginx.pid.oldbin`

 5、回滚

    平滑升级过程中的回滚,即在发送USR2信号后,继续使用旧的主进程。这时候,旧的主进程的套接字没有关闭,可以进行以下步骤:

  a、发送HUP信号给旧的主进程

    kill -HUP `cat /usr/local/nginx/nginx.pid.oldbin`

  b、发送QUIT信号给新的主进程

    kill -QUIT 新进程号

  c、发送TERM信号给新的主进程

    kill -TERM 新进程号

  d、如果无法退出,直接kill

  

    

  

原文地址:https://www.cnblogs.com/zyxy5207/p/11380586.html

时间: 2024-09-29 12:02:33

nginx运行和控制的相关文章

运行和控制Nginx

转于:http://www.nginx.cn/NginxChsCommandLine#reload%20config Nginx命令行选项 启动.停止.重启nginx命令 如何重新加载nginx配置文件 nginx程序不重启平滑升级可执行文件 nginx命令行参数 不像许多其他软件系统,Nginx 仅有几个命令行参数,完全通过配置文件来配置 -c </path/to/config> 为 Nginx 指定一个配置文件,来代替缺省的. -t 不运行,而仅仅测试配置文件.nginx 将检查配置文件的

(转)Apache和Nginx运行原理解析

Apache和Nginx运行原理解析 原文:https://www.server110.com/nginx/201402/6543.html Web服务器 Web服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务. 应用层使用HTTP协议. HTML文档格式. 浏览器统一资源定位器(URL). Web服务器常常以B/S(Browser/Server)方式提供服务.浏览器和服务器的交互方式如下: GET /index.php HTTP/1.1 +-------

Linux运行与控制后台进程的方法:nohup, setsid, &amp;, disown, screen

Linux运行与控制后台进程的方法:nohup, setsid, &, disown, screen 转自http://heylinux.com/archives/1282.html#more-1282 我们经常会碰到这样的问题,用ssh登录了远程的Linux服务器,运行了一些耗时较长的任务,结果却由于网络等的不稳定导致任务中途失败.这是由于在用户注销(logout)或者网络断开时,终端会收到 HUP(hangup)信号从而关闭其所有子进程.解决办法有两种:让进程忽略HUP信号,或让进程运行在新

LNMP1.3一键安装Linux环境,配置Nginx运行ThinkPHP3.2

LNMP1.3一键安装Linux环境,配置Nginx运行ThinkPHP3.2 你是否遇见过:安装LNMP1.3环境后,运行ThinkPHP 3.2,只能打开首页,不能访问控制器,报404错误. 按照以下3步设置,即可解决. ThinkPHP支持的URL模式有四种:普通模式.PATHINFO.REWRITE和兼容模式,系统默认的PATHINFO模式. LNMP1.3 一键安装完成后,默认支持REWRITE,需要手动开启 PATHINFO. 第1步修改:php.ini文件位置:/usr/local

nginx 运行于RT5350

在成功编译nginx的mips平台后,将其make install生成的文件打包放在rt5350的文件系统. 其中需要注意的是,在放入文件系统需要和编译安装的目录保持一致:如编译的时候有release的目录,所以在文件系统也需要相应的目录 release,并将conf ,html,logs文件拷贝,nginx放在sbin目录下. 另外在编译的时候指定了user及group如果文件系统尚未有,则需要使用adduser命令添加即可 # adduser nginx Changing password

nginx运行出现 file not found 错误处理原因

在阿里云装nginx+php+mysql nginx运行出现 file not found 错误处理原因 1,第一情况 location ~ \.php$ { # root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } fastcgi_par

转:Apache和Nginx运行原理解析

Web服务器 Web服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务. 应用层使用HTTP协议. HTML文档格式. 浏览器统一资源定位器(URL). Web服务器常常以B/S(Browser/Server)方式提供服务.浏览器和服务器的交互方式如下: GET /index.php HTTP/1.1 +---------------+                   +----------------+  |               +------

nginx 反向代理控制

环境:web1 web2 nginx+keepalived 1.location简介: nginx中的location指令是NginxHttpCoreModule中重要指令.Location指令比较简单,也比较常用.Sets a configuration based on a request URL. Location指令,是用来对url进行匹配的,URL及语法中的/uri/,可以是字符串或正则表达式.如果是正则表达式,则必须指定前缀.location指令根据URL来应用不同的配置.这个指令运

Apache和Nginx运行原理解析

Web服务器 Web服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务. 应用层使用HTTP协议. HTML文档格式. 浏览器统一资源定位器(URL). Web服务器常常以B/S(Browser/Server)方式提供服务.浏览器和服务器的交互方式如下: GET /index.php HTTP/1.1 +---------------+                   +----------------+ |               +-------