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] ...
随机推荐
- java基础知识回顾之javaIO类总结
java IO体系图 IO流的操作规律总结: 1,明确体系: 数据源:InputStream ,Reader 数据汇:OutputStream,Writer 2,明确数据:因为数据分两种:字节,字符. ...
- SQL 外键
先新建2个表,写入数据 -- 创建测试主表. ID 是主键. CREATE TABLE test_main ( id INT, value ), PRIMARY KEY(id) ); -- 创建测试子 ...
- Java中的Timer和TimerTask在Android中的用法(转)
转自:http://blog.csdn.net/zuolongsnail/article/details/8168689 在开发中我们有时会有这样的需求,即在固定的每隔一段时间执行某一个任务.比如UI ...
- Android 启动APP时黑屏白屏的三个解决方案
你会很奇怪,为什么有些app启动时,会出现一会儿的黑屏或者白屏才进入Activity的界面显示,但是有些app却不会如QQ手机端,的确这里要做处理一下.这里先了解一下为什么会出现这样的现象,其实很简单 ...
- 大牛之路II
时间限制:500MS 内存限制:1000K 提交次数:138 通过次数:31 题型: 编程题 语言: C++;C Description 要成为ACM大牛,要掌握很多必需的知识点.某些知识点可以 ...
- AngularJS学习笔记二:AngularJS指令
AngularJS 指令: AngularJS 通过被称为 指令 的新属性来扩展 HTML. AngularJS 指令是扩展的 HTML 属性,带有前缀 ng-. 几个常用 指令: ng-app 指令 ...
- 阿里云SDK手册之java SDK
进行阿里云sdk开发的前提是已经购买阿里云的相关服务才能调用阿里的相关接口进行开发.最近公司在做云管控的项目,于是进行下摘录总结. 一. 环境准备 阿里云针对不同的开发语言提供不同的sdk,由于项目用 ...
- BZOJ1086 [SCOI2005]王室联邦(树分块)
把树的结点分块,块内结点连通且个数[b,3b]. 一遍DFS,维护一个栈,设置一个虚拟栈底以保证连通,递归返回时判断栈内元素个数是否大于等于b,是则划分为一个块,最后剩下的与最后一个块划分在一起. h ...
- BZOJ3413 : 匹配
FDUSC前刷刷题吧.. 本题每个询问就是说将询问串与主串每个后缀匹配,若匹配成功则结束,否则加上lcp的长度 对主串建立后缀树,并用主席树维护DFS序 对于每个询问串,找到最后走到的点fin_nod ...
- Android 与 IIS服务器身份验证
1)基础验证: /** * 从服务器取图片 * * @param url * @return */ public void getHttpBitmap(final String url) { new ...