Nginx 笔记与总结(2)信号控制
开启、关闭、重启 Nginx
官方地址:http://wiki.nginx.org/CommandLine
开启:
/usr/local/nginx/sbin/nginx
关闭,用信号控制,语法:
kill 信号名 pid
查看 Nginx 进程:
netstat -antp

或
ps aux|grep nginx

master process 表示主进程,用来管理子进程
关闭 Nginx:

master process 和 worker process 这两个进程已经不存在了,同时 80 端口已经没有被占用了。
Nginx 的信号控制包括:
| TERM, INT | Quick shutdown(紧急关闭,轻易不要这样使用) |
| QUIT | Graceful shutdown(优雅地关闭进程,即等请求结束后再关闭) |
| KILL | Halts a stubborn process |
| HUP | Configuration reload Start the new worker processes with a new configuration Gracefully shutdown the old worker processes(改变配置文件,平滑地重读配置文件) |
| USR1 | Reopen the log files(重读日志,在日志按月/日分割时有用) |
| USR2 | Upgrade Executable on the fly(平滑地升级) |
| WINCH | Gracefully shutdown the worker processes(优雅地关闭旧的进程(配合USR2来进行升级)) |
【测试 HUP】
① 访问 http://192.168.254.100/

② 更改配置文件:
vim /usr/local/nginx/conf/nginx.conf
在 index.html 前加上 test.html。此时 test.html 的优先级要高于 index.html

③ 在 nginx 的 html 目录下新建 test.html:
vim /usr/local/nginx/html/test.html

此时在 nginx 的 html 目录下就多了 test.html 文件:
ls /usr/local/nginx/html/

④ 平滑地重读配置文件:
首先查看 nginx 的进程号 pid:2192

平滑地重读配置文件:
kill -HUP
重新访问 192.168.254.100:

【另一个测试 HUP】
① 修改 test.html:
<!DOCTYPE html>
<html>
<head>
<meat charset="utf-8">
<title>test HUP</title>
</head>
<body>
test HUP
<script>
window.location.href="/";
</script>
</body>
</html>

导致的结果是访问该页面,该页面会一直刷新:

② 修改配置文件:
vim /usr/local/nginx/conf/nginx.conf
去掉 test.html

此时页面一直在刷新,而内容不变;
③ 再次平滑地重读配置文件:
kill -HUP
内容在很短时间内改变为 Welcome to nginx!
或者
kill -HUP `cat /usr/local/nginx/logs/nginx.pid`
因为
cat /usr/local/nginx/logs/nginx.pid
输出的就是 nginx 的 pid:2192
进程文件 nginx.pid 是不会变的,而进程号 pid 是会变的。
【测试 USR1】
① 查看 nginx 的 logs 目录,有一个 access.log,它记录了所有对 Web 服务器的访问活动(例如上例中 js 不断刷新页面就会记录到 access.log 中,该文件会一直增涨):

如果要把 access.log 按日期进行备份,不能简单地只把 access.log 更改为 access.log.20150722,然后新建一个 access.log。因为该文件的 inode 是不变的,access.log.20150722 还在继续增涨。
② 要想新的日志写进新的 access.log ,则需要使用 Nginx 信号控制中的 USR1:
kill -USR1
此时新的日志都写进了新建的 access.log 中,access.log.20150722 的大小则保持不变,完成备份。
Nginx 笔记与总结(2)信号控制的更多相关文章
- Nginx网络架构实战学习笔记(一):Nginx简介、安装、信号控制、nginx虚拟主机配置、日志管理、location 语法、Rewrite语法详解
文章目录 nginx简介 nginx安装 nginx信号控制 nginx虚拟主机配置 日志管理 location 语法 精准匹配的一般匹配 正则匹配 总结 Rewrite语法详解 nginx简介 Ng ...
- Nginx 的信号控制
摘自:Nginx服务器初识:Nginx启动.停止与信号控制 名称 功能 说明 HUP 重启 QUIT 从容关闭 TERM 快速关闭 INT 从容关闭 USR1 切换日志文件 通常用在切 ...
- openresty开发系列2--nginx的简单安装,正向、反向代理及常用命令和信号控制介绍
openresty开发系列2--nginx的简单安装,正向.反向代理及常用命令和信号控制介绍 一.nginx的安装下载及编译安装1.Nginx下载:nginx-1.13.0.tar.gz,下载到:/u ...
- nginx 的信号控制概述
<nginx 在ubuntu 上的启动,停止,重启>中的停止和重启命令基本都是用信号来控制的.这是一些简单的信号控制. 在Nginx服务器中,通常情况都是通过对其发送控制信号进行控制的,除 ...
- Nginx 的启动、停止、平滑重启、信号控制和平滑升级
Nginx 的启动 假设 nginx 安装在 /usr/local/nginx 目录中,那么启动 nginx 的命令就是: [root@localhost ~]# /usr/local ...
- Nginx学习——Nginx启动、停止、重启和信号控制以及平滑升级
1.Nginx 启动与停止 (1)启动方式 启动格式:Nginx可执行文件地址 -c Nginx配置文件地址 /etc/local/nginx/sbin/nginx -c /root/dufy/ngi ...
- 运行和控制Nginx——命令行参数和信号
参考资料: Nginx中文文档: http://www.nginx.cn/nginxchscommandline Nginx的启动.停止.平滑重启.信号控制和平滑升级:http://zachary-g ...
- nginx学习之——信号控制和配置
一.信号控制 1)TERM, INT Quick shutdown \\麻溜停掉(暴力停止),一般不常用 // 启动和停止nginx 当前目录:/usr/local/bin/nginx 启动: ...
- 【学习笔记】启动Nginx、查看nginx进程、查看nginx服务主进程的方式、Nginx服务可接受的信号、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级
1.启动nginx的方式: cd /usr/local/nginx ls ./nginx -c nginx.conf 2.查看nginx的进程方式: [root@localhost nginx] ...
随机推荐
- UML状态图和活动图
UML状态图和活动图 统一建模语言UML(Unified Modeling Language)是非专利的第三代建模和规约语言.UML是一种开放的方法,用于说明.可视化.构建和编写一个正在开发的.面向对 ...
- JAVA基础学习之命令行方式、配置环境变量、进制的基本转换、排序法、JAVA文档生成等(1)
1.命令行方式 dos命令行,常见的命令: dir:列出当前目录下的文件以及文件夹 md:创建目录 rd:删除目录 cd:进入指定目录 cd..:退回到上一级目录 cd/:退回到根目录 del:删除文 ...
- hdu 1150 Machine Schedule 最少点覆盖转化为最大匹配
Machine Schedule Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php? ...
- LoadRunner11支持的浏览器小结
LoadRunner11录制脚本时不能打开IE浏览器,解决方案有以下几个步骤: l LoadRunner11支持的浏览器版本最高是ie9,把浏览器版本换成ie9; l 打开IE选项----高级—去 ...
- jquery优化02
缓存变量:DOM遍历是昂贵的,所以尽量将会重用的元素缓存. $element = $('#element'); h = $element.height(); //缓存 $element.css('he ...
- 重拾ZOJ 一周解题
ZOJ 2734 Exchange Cards 题目大意: 给定一个值N,以及一堆卡片,每种卡片有一个值value和数量number.求使用任意张卡片组成N的方式. 例如N = 10 ,cards(1 ...
- POJ2226 Muddy Fields(二分图最小点覆盖集)
题目给张R×C的地图,地图上*表示泥地..表示草地,问最少要几块宽1长任意木板才能盖住所有泥地,木板可以重合但不能盖住草地. 把所有行和列连续的泥地(可以放一块木板铺满的)看作点且行和列连续泥地分别作 ...
- 【wikioi】1269 匈牙利游戏(次短路+spfa)
http://www.wikioi.com/problem/1269/ 噗,想不到.. 次短路就是在松弛的时候做下手脚. 设d1为最短路,d2为次短路 有 d1[v]>d1[u]+w(u, v) ...
- 深入理解JVM—性能监控工具
(转自:http://yhjhappy234.blog.163.com/blog/static/31632832201222691738865/) 我们知道,在JVM编译期和加载器,甚至运行期已经做了 ...
- 转:mysql中int、bigint、smallint 和 tinyint的区别与长度的含义
bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字).存储大小为 8 个字节. P.S. b ...