写在前面的话:读书破万卷,编码如有神
--------------------------------------------------------------------
主要内容包括:

  1. nginx服务的信号控制
  2. nginx服务的启动
  3. nginx服务的停止
  4. nginx服务的重启

参考内容:

1、《Nginx高性能 Web服务器详解》 一书,作者:苗泽

--------------------------------------------------------------------

1、Nginx服务的启停控制

1.1、Nginx服务的信号控制

  在nginx服务的启停办法中,有一类是通过信号机制来实现的,nginx服务在运行时,会保持一个主进程和一个或多个worker process工作进程,我们通过给nginx服务的主进程发送信号就可以控制服务的启停了。

获取nginx服务的主进程PID有两种方法

  1. 查看nginx安装目录下的logs目录中产生的nginx.pid文件
  2. 通过命令:ps -ef|grep nginx 来查看

nginx服务的主进程能够接收的信号有:

信号 作用
TERM 或 INT 快速停止nginx服务
QUIT 平缓停止nginx服务
HUP 使用新的配置文件启动进程,之后平缓停止原有进程,也就是所谓的"平滑重启"
USR1 重新打开日志文件,常用于日志切割
USR2 使用新版本的nginx文件启动服务,之后平缓停止原有的nginx进程,也就是所谓的"平滑升级"
WINCH 平缓停止worker process,用于nginx服务平滑升级

1.2、Nginx服务的启动

  在Centos系统中,启动Nginx服务器只需要到Nginx的安装目录下找到sbin目录并且运行该目前下的"二进制文件nginx"。

下面先简单介绍一下: "二进制文件nginx"的基本用法:

(a)参数 -h、-? 用来打印二进制文件nginx的用法

(b)参数 -v 用来显示nginx服务器的版本号

(c)参数 -V 用来显示nginx服务器的版本号和nginx服务器的编译情况

(d)参数 -t 检查nginx服务器配置文件是否有语法错误

(e)参数 -t -q 一起使用,如果配置文件无错误,将不输出上面的内容

(f)参数 -s signal 是用来向nginx服务的主进程发送信号的

(g)参数 -p prefix 用来改变nginx的安装路径,常用在平滑升级Nginx服务器的场合

(h)参数 -c filename 用来指定启动nginx服务使用的配置文件

(j)参数 -g directives 用来补充nginx配置文件,向nginx服务指定启动时应用于全局的配置

下面我们就来利用二进制文件nginx来启动服务,执行命令: ./nginx ,如果没有任何错误消息输出,nginx服务就启动了。

通过 ps -ef|grep nginx命令来查看nginx服务的进程状态:

命令: netstat -ntpl查看 端口占用情况

1.3、Nginx服务的停止

停止nginx服务有两种方法:

  1. 快速停止: 指立即停止当前nginx服务正在处理的所有网络请求,马上丢弃链接,停止工作
  2. 平缓停止: 指允许nginx服务奖当前正在处理的网络请求处理完成,但不再接收新的请求,之后关闭链接,停止工作。

命令:

./nginx -g TERM | INT | QUIT

kill TERM | INT | QUIT  '/nginx/logs/nginx.pid'

其中,TERM、INT信号用于快速停止,QUIT用于平缓停止。

或者用暴力的方法: kill -9 pid

1.4、Nginx服务的重启

  当修改了nginx服务器的配置文件或者新加入模块后,就需求重启nginx服务。有两种办法,第一种:先关闭nginx服务,再启动。第二种:使用平滑的重启方式。

  这里主要介绍平滑重启,平滑重启是这样一个过程,nginx服务进程接收到信号后,首先读取新的nginx配置文件,如果配置语法正确,则启动新的nginx服务,然后平滑关闭旧的服务进程;如果新的nginx配置文件有问题,将显示错误消息,并且仍然使用旧的nginx进程提供服务。

nginx平滑重启的命令:  ./nginx -g HUP [-c newConfile]

  HUP信号用于发送平滑重启信号

  newConfile,可选项,用于指定新配置文件的路径

Nginx服务器的启动控制的更多相关文章

  1. 基于多进程和基于多线程服务器的优缺点及nginx服务器的启动过程

    基于多进程服务器的优点: 1.由操作系统进行调度,运行比较稳定强壮 2.能够方便地通过操作系统进行监控和管理 例如对每个进程的内存变化状况,甚至某个进程处理什么web请求进行监控.同时可以通过给进程发 ...

  2. 转载:Nginx的命令行控制(1.6)《深入理解Nginx》(陶辉)

    原文:https://book.2cto.com/201304/19621.html 在Linux中,需要使用命令行来控制Nginx服务器的启动与停止.重载配置文件.回滚日志文件.平滑升级等行为.默认 ...

  3. LINUX学习--nginx服务器的安装

    一.安装环境 操作系统CentOS6.8 关闭SeLinux和iptables防火墙 二.网络yum源 将下面的软件下载到  /etc/yum.repos.d/   的目录下 官方基础:http:// ...

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

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

  5. Nginx服务器的平滑启动、平缓停止、平滑升级

    注:Nginx服务在运行时,会保持一个主进程(master process)和一个或多个工作进程(worker process). 每一个进程都会有一个PID进程号,可以通过向主进程的PID进程号发送 ...

  6. 启动Nginx、查看nginx进程、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级

    1.启动nginx的方式: cd /usr/local/nginx ls

  7. nginx入门篇----nginx服务器基础配置

    1.nginx.conf文件结构...                         #全局块  events{  ...  }  http                      #http块{ ...

  8. nginx服务器中的安全配置

    一.关闭SELinux 安全增强型Linux(SELinux)的是一个Linux内核的功能,它提供支持访问控制的安全政策保护机制. 但是,SELinux带来的附加安全性和使用复杂性上不成比例,性价比不 ...

  9. nginx服务器调优

    nginx服务器调优措施总结: 1.选择合适的网络IO模型 epoll select poll 2.配置合适的启动进程数和每个进程处理请求的工作线程数 3.启用gzip压缩以减小通信量以减少网络IO ...

随机推荐

  1. 深入理解Spring系列之十一:SpringMVC-@RequestBody接收json数据报415

    转载 https://mp.weixin.qq.com/s/beRttZyxM3IBJJSXsLzh5g 问题原因 报错原因可能有两种情况: 请求头中没有设置Content-Type参数,或Conte ...

  2. 技巧之如何快速使用websocket来监控标准输出

    为啥是Websocket 服务端可以主动推送消息到浏览器端.比如服务端实时在打印日志,这是一个标准输出,可以实时将日志推送到浏览器. 为啥用websocketd (https://github.com ...

  3. (3)剑指Offer之数值的整数次方和调整数组元素顺序

    一 数值的整数次方 题目描述: 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 问题解析: 这道题算是比较麻烦和难一点的一个了.我这里采 ...

  4. rebbitmq之python_pika监控远程连接及自动恢复(七)

    前言 客户端连接rabbitmq后,如果长时间没有数据的传输,rabbitmq会申请关闭TCP连接,造成该TCP连接下的所有的信道都不可用,很多时候为了传输数据的高效率,我们会先创建一个信道池,这样省 ...

  5. Linux自身安全SElinux

    查看SELinux状态: 1./usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态 SELinux status:         ...

  6. FPGA 17最佳论文导读 ESE: Efficient Speech Recognition Engine with Compressed LSTM on FPGA

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.机器学习技术感兴趣的同学加入. 后面陆续写一些关于神经网络加 ...

  7. EF – 8.多对多关联

    5.6.10 <多对多关联(上)> 时长:9分57秒 难度:难 5.6.11<多对多关联(下)> 时长:8分50秒 难度:难 如果单独地把多对多关联的CRUD拿出来讲,确实比较 ...

  8. es6 class 中 constructor 方法 和 super

    首先,ES6 的 class 属于一种“语法糖”,所以只是写法更加优雅,更加像面对对象的编程,其思想和 ES5 是一致的. <1>constructor function Point(x, ...

  9. Eclipse的SVN插件与本地SVN客户端关联不上

    问题:当我们用SVN客户端把代码更新到本地,并导入到eclipse之后,却发现我们的SVN插件并没有起作用(没有代码入库.修改等小图标的显示,也没有check in,update等功能菜单).如果我们 ...

  10. fedora下中文输入fcitx4.0

    fedora12,14下使用fcitx输入法可用,切换ctrl+space