开启、关闭、重启 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)信号控制的更多相关文章

  1. Nginx网络架构实战学习笔记(一):Nginx简介、安装、信号控制、nginx虚拟主机配置、日志管理、location 语法、Rewrite语法详解

    文章目录 nginx简介 nginx安装 nginx信号控制 nginx虚拟主机配置 日志管理 location 语法 精准匹配的一般匹配 正则匹配 总结 Rewrite语法详解 nginx简介 Ng ...

  2. Nginx 的信号控制

    摘自:Nginx服务器初识:Nginx启动.停止与信号控制 名称 功能 说明 HUP 重启   QUIT 从容关闭   TERM 快速关闭   INT 从容关闭   USR1 切换日志文件 通常用在切 ...

  3. openresty开发系列2--nginx的简单安装,正向、反向代理及常用命令和信号控制介绍

    openresty开发系列2--nginx的简单安装,正向.反向代理及常用命令和信号控制介绍 一.nginx的安装下载及编译安装1.Nginx下载:nginx-1.13.0.tar.gz,下载到:/u ...

  4. nginx 的信号控制概述

    <nginx 在ubuntu 上的启动,停止,重启>中的停止和重启命令基本都是用信号来控制的.这是一些简单的信号控制. 在Nginx服务器中,通常情况都是通过对其发送控制信号进行控制的,除 ...

  5. Nginx 的启动、停止、平滑重启、信号控制和平滑升级

    Nginx 的启动         假设 nginx 安装在 /usr/local/nginx 目录中,那么启动 nginx 的命令就是: [root@localhost ~]# /usr/local ...

  6. Nginx学习——Nginx启动、停止、重启和信号控制以及平滑升级

    1.Nginx 启动与停止 (1)启动方式 启动格式:Nginx可执行文件地址 -c Nginx配置文件地址 /etc/local/nginx/sbin/nginx -c /root/dufy/ngi ...

  7. 运行和控制Nginx——命令行参数和信号

    参考资料: Nginx中文文档: http://www.nginx.cn/nginxchscommandline Nginx的启动.停止.平滑重启.信号控制和平滑升级:http://zachary-g ...

  8. nginx学习之——信号控制和配置

    一.信号控制 1)TERM, INT   Quick shutdown  \\麻溜停掉(暴力停止),一般不常用 // 启动和停止nginx 当前目录:/usr/local/bin/nginx 启动: ...

  9. 【学习笔记】启动Nginx、查看nginx进程、查看nginx服务主进程的方式、Nginx服务可接受的信号、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级

     1.启动nginx的方式: cd /usr/local/nginx ls ./nginx -c nginx.conf 2.查看nginx的进程方式: [root@localhost nginx] ...

随机推荐

  1. 查看运行的KVM的虚机

    [root@ok Desktop]# cat demo.py #!/usr/bin/python import libvirt conn = libvirt.open("qemu:///sy ...

  2. 搭建邮局(邮件服务器) - hmailserver

    1.查看服务器mx是否解析成功 nslookup  set type=mx   2.hmailserver服务器 smtp设置     3.foxmail 设置   4.使用webmail(after ...

  3. ASP.NET MVC 3 使用Model自定义验证的样式

    1.修改jquery.validate.unobtrusive.js 将onError方法修改 //修改的部分 //////////////////////////////////////////// ...

  4. jQuery信息提示工具jquery.poshytip (转载)

    转载地址:http://www.helloweba.com/view-blog-123.html Poshy Tip是一款非常友好的信息提示工具,它基于jQuery,当鼠标滑向链接时,会出现一个信息提 ...

  5. oracle 10g 学习之函数和存储过程(12)

    一.函数 1. 函数的 helloworld: 返回一个 "helloworld--!" 的字符串 create or replace function helloworld re ...

  6. Spark编译安装和运行

    一.环境说明 Mac OSX Java 1.7.0_71 Spark 二.编译安装 tar -zxvf spark-.tgz cd spark- ./sbt/sbt assembly ps:如果之前执 ...

  7. 网页中meta标记

    网页中常常看见有这样的标记,他们是清浏览器缓存用的    <meta http-equiv="> PS:清除浏览器中的缓存,它和其它几句合起来用,就可以使你再次进入曾经访问过的页 ...

  8. AppInventor学习笔记(三)——油漆桶应用学习

    一.组件设置 1.画笔颜色选项 选取3个Button,然后改名为红.黄.绿三种颜色,然后进行相应属性的设置. 在这里有个问题就是如何放在一行.. 将3个按钮放进这个方框里面就可以变成一行了. 2.画布 ...

  9. 《数据结构与算法分析》学习笔记(五)——队ADT

    一.队的概念 队列也是一种表,但是是一种受限的表,只允许从一端插入,另一端山粗的表. 二.队列的数组实现 #define QMAXSIZE 100 typedef int Position; type ...

  10. C++primer学习笔记(一)——Chapter 3

    3.1 Namespace using Declarations 1.因为C++里有名字空间的定义,例如我们使用cin的时候必须写成std::cin,如果就用一次还是可以接受的,但是如果一直都这样,那 ...