Nginx的信号控制

Nginx简介

Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP的代理服务器。Nginx由俄罗斯的Rambler.ru站点开发,而且官方测试Nginx可以支撑五万并发。

Nginx官网:http://nginx.org

本文主要讲解Nginx运行后如何控制它,以便它的停止或者重新启动。

// 启动和停止nginx
当前目录:/usr/local/bin/nginx
启动:
./sbin/nginx
停止 :
kill -INT master 主机进程号

Nginx信号量

Nginx主要是通过信号量来控制Nginx,主进程编号默认写入文件nginx.pid中,可以通修改配置文件nginx.conf修改修改文件的名称。

Nginx主进程支持的信号如下:

信号量使用方式

具体讲解

TERM,INT :kill -TERM(INT)      nginx主进程号或者kill -TERM(INT)

`cat/usr/local/nginx/logs/nginx.pid `,   nginx的进程马上被关闭,不能完整处理正在使用的nginx的用户的请求,等同于 /usr/local/nginx -s stop

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

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

USR1:kill -USR1          nginx主进程号 不用关闭nginx进程就可以重读日志,此命令可以用于nginx的日志定时备份,按月/日等时间间隔分割有用

USR2:kill -USR2          nginx主进程号 nginx的版本需要升级的时候,不需要停止nginx,就能对nginx升级

WINCH:kill -WINCH     nginx主进程号 配合USR2对nginx升级,优雅的关闭nginx旧版本的进程。

利用Nginx这些信号量在不必关闭进程的时候就可以控制nginx的日志分割以及nginx的升级之类的内容,随着对Nginx的逐步深入更加觉得Nginx区区五万行的代码就能做到这么厉害,着实佩服了!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • 如何通过nginx负载均衡跳转https

    web端拷贝证书与密钥 scp -rp -P52113 /application/nginx/conf/key 10.0.0.5:/application/nginx/conf/ 在nginx负载均衡服务端配置 vim /application/nginx/conf/nginx.conf worker_processes 2; error_log logs/error.log; events { worker_connections 65535; } http { include mime.ty

  • nginx信号集案例详解

    之前工作时候,一台引流测试机器的一个 ngx_lua 服务突然出现了一些 HTTP/500 响应,从错误日志打印的堆栈来看,是不久前新发布的版本里添加的一个 Lua table 不存在,而有代码向其进行索引导致的.这令人百思不得其解,如果是版本回退导致的,那么为什么使用这个 Lua table 的代码没有被回退,偏偏定义这个 table 的代码被回退了呢? 经过排查发现,当时 nginx 刚刚完成热更新操作,旧的 master 进程还存在,因为要准备机器重启,先切掉了引流流量(但有些请求还在),

  • Nginx的安装和多域名配置的实现方法

    Nginx安装 centos6.x yum默认没有nginx的软件包 安装方式: 到nginx下载页面http://nginx.org/en/linux_packages.html#stable,复制CENTOS 6的nginx软件源安装包 运行命令:wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm 安装rpm包 yum install nginx-rel

  • docker nginx 运行后无法访问的问题解决

    ## 1 最近在学docker部署,一开始打算将nginx先docker化的. 对照官方的docker镜像介绍说明,进行自定义配置 将官方的nginx.conf复制出来后,修改添加了一些自定义,主要是屏蔽了default.conf,以及include文件夹 sites-available # include /etc/nginx/conf.d/.conf; include /etc/nginx/sites-available/; 官方原先配置 user nginx; worker_process

  • Linux系统下为Nginx安装多版本PHP

    我们在安装配置服务器LNPM环境时应该考虑到PHP多版本并存的问题,下面是实现Linux系统下为Nginx安装多版本PHP的实现方法 linux版本:64位CentOS 6.4 Nginx版本:nginx1.8.0 php版本:php5.5.28 & php5.4.44 注意假如php5.5是主版本已经安装在/usr/local/php目录下,那么再安装其他版本的php再指定不同安装目录即可. 安装PHP # wget http://cn2.php.net/get/php-5.4.44.tar.

  • 详解CentOS配置Nginx官方的Yum源

    一直都在使用阿里云购买的centos进行项目部署,最近在本地机器搭建了虚拟机进行某些项目联系时,却发现使用命令yum -y install nginx不能安装nginx,本地centos系统的yum仓库并没有nginx,查找资料得以解决,做记录如下: 由于yum源中没有我们想要的nginx,那么我们就需要创建一个"/etc/yum.repos.d/nginx.repo"的文件,其实就是新增一个yum源. [root@localhost ~]# vim /etc/yum.repos.d/

  • 一段万能的nginx接口实现反向代理配置

    1.什么是代理服务器 代理服务器,客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机. 2.为什么要使用代理服务器 1)提高访问速度 由于目标主机返回的数据会存放在代理服务器的硬盘中,因此下一次客户再访问相同的站点数据时,会直接从代理服务器的硬盘中读取,起到了缓存的作用,尤其对于热门站点能明显提高请求速度. 2)防火墙作用 由于所有的客户机请求都必须通过代理服务器访问远程

  • 开启Nginx时端口被占用提示:Address already in use

    如图所示: 查看端口占用情况: sudo netstat -apn | grep 80 查看占用端口的进程: ps -ef | grep 3345 通过结果可知,80端口是Nginx本身占用了,可以杀掉进程,重新启动Nginx sudo kill -9 3345 sudo netstat -apn | grep 80 成功杀掉进程后,启动Nginx 启动Nginx成功,在浏览器输入Nginx所在系统的ip地址,验证Nginx是否启动成功 下面介绍下Nginx的启动.停止与重启 启动 启动代码格式

  • 解决vue项目nginx部署到非根目录下刷新空白的问题

    1.修改config/index.js 2.修改路由route/index 3.后台配置nginx 以上这篇解决vue项目nginx部署到非根目录下刷新空白的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Centos7安装PHP及Nginx的教程详解

    随着服务端centos的应用越来越普及,centos7的使用也越来越多,这两年来我从一个很少接触centos服务器端维护的小白,也越来越多的基础其维护操作,给我带来了不少困扰的同时也增加了不少centos服务器搭建和运维的知识,今天就来一步一步记录一下. 一.安装PHP 随着微信13年开始大火,php的运用也再次火了起来,市面上很多企业都选择使用php作为其应用后台,个人认为原因有 1.php的成本低 2.php的入门快 3.php的开发周期相对较短 4.tp5的诞生提高了php接口开发的效率.

  • Nginx日志管理介绍

    Nginx日志描述 通过访问日志,你可以得到用户地域来源.跳转来源.使用终端.某个URL访问量等相关信息:通过错误日志,你可以得到系统某个服务或server的性能瓶颈等.因此,将日志好好利用,你可以得到很多有价值的信息. 参数明细表: $remote_addr 客户端的ip地址(代理服务器,显示代理服务ip) $remote_user 用于记录远程客户端的用户名称(一般为"-") $time_local 用于记录访问时间和时区 $request 用于记录请求的url以及请求方法 $st

随机推荐