Nginx配置文件详解以及Nginx的启停控制,这里是精华

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx配置文件详解以及Nginx的启停控制,这里是精华相关的知识,希望对你有一定的参考价值。

参考技术A

安装完成nginx服务器之后我们需要来学习如何启动,停止,重启Nginx服务。在Linux平台下有着不止一种的控制Nginx启停的方法 下面我们来详细的学习一下。
Nginx的信号控制
在控制nginx中有一类是通过信号控制的,因此我们来先介绍一下Nginx服务器的信号控制.
在nginx服务运行时,会保持一个主进程和多个worker process 工作进程, 我们可以通过给主进程发送信号,就可以控制服务的启停了,那么我们如何去给服务发送信号?发送信号我们必须要知道服务的PID, 那么我们就来获取一下他的进程ID
第一种直接利用ps 查看详情 :

第二种 我们直接查看文件存储地址查看: 此操作需要先开启pid的存储才可以生效

找到我们的pid之后那么可以开始我们下一步的操作 再开始之前先了解一下可以接受的信号有哪些,各自有什么含义

向Nginx服务进程发送信号也有两种方式:

同样我我们可以使用动态的PID
kill 信号 filepath (filepath指的是我们的Nginx.PID的路径)

nginx服务的启动
在linux平台下,启动Nginx服务器直接运行安装目录下的Sbin目录中的二进制文件即可.
具体命令在sbin目录下:

这里主要讲下二进制文件的用法这是我们工作中常常用到的一些指令

nginx服务停止
停止我们的Nginx有两种方式

**Nginx服务的重启 **
当我们Nginx服务加入新的模块后,如果希望当前的Nginx服务应用新的配置或者使用新的模块生效,就需要重启Nginx服务。当然我们可以先关闭Nginx服务然后使用新的Nginx配置文件重启Nginx服务, 这里我们讲的 是平滑的重启Nginx服务
平滑是重启的一个过程,Nginx服务进程收到信号后先读取我们新的配置文件,如果我们新的配置文件正常,那么启动新的Nginx服务,然后平滑的关闭旧的进程服务,如果新的Nginx服务配置文件有问题那么将显示错误然后任然使用旧的Nginx
使用以下命令可以做到Nginx的平滑重启

Nginx服务的升级
如果我们需要对当前的Nginx服务进行升级 ,应用新的模块,最简单的方式是停下来,然后开启新的Nginx服务,那么给我们的用户体验是非常差的,会导致用户在一段时间内无法访问我们的服务器为了解决这个问题,Nginx提供了平滑升级的方案
过程如下:
注意:
为了实现nginx服务器的平滑升级,新安装的服务器路径应该和旧的一致。因此建议用新安装的服务器之前先备份一下我们的旧nginx服务器,如果由于种种原因不能保持新旧客户端路径一致则可以做一下操作,将旧的服务器路径更改为新的路径,新的服务器放入旧的路径中

执行过程
Nginx服务接受到USR2的信号后,首先将旧的Nginx。pid文件后面添加一个.oldbin
变成了,nginx.pid.oldbin 然后执行新版本的Nginx服务器的二进制文件启动服务,如果启动成功那么我们将会有两个Nginx服务在提供服务
之后需要向旧的发送WINCH信号,使旧的nginx服务平缓的停止并删除
nginx.pid.oldbin文件 在发送WINCH信号前我们可以随时停止新的服务

从目录中我们不难看出所有的配置文件都放在conf目录下主要的配置文件为 Nginx.conf
那么下面我们带领你来去详细的解读一下其中的配置详情

注:近期持续更新有关nginx的知识点,欢迎大家关注!

nginx的gzip模块详解以及配置

文章来源
运维公会:nginx的gzip模块详解以及配置

1、gzip模块作用
gzip这个模块无论在测试环境还是生产环境都是必须要开启,这个模块能高效的将页面的内容,无论是html或者css、js亦或是图片等都可以进行压缩,节省了带宽资源,也提高了网站的加载速度,给浏览者带来更优质的服务。

2、启用gzip
只要在nginx的配置文件nginx.conf中去配置。
在http{
gzip on;
gzip_min_length 1k;
gzip_buffers 4 32k;
gzip_http_version 1.1;
gzip_comp_level 6;
gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml;
gzip_vary on;
}模块中去添加
技术图片

3、详解
gzip on; 开启压缩,默认是off。
gzip_min_length 1k; 设置压缩阈值,当设置为1k的时候,表示如果需要被压缩的文件小于1k,就压缩。
gzip_buffers 4 32k; 设置压缩缓冲区的数量和大小,4 32k表示申请4块大小为32k的缓冲区。
gzip_http_version 1.1 识别http协议的版本
gzip_types text/plain text/css text/javascript
application/javascript application/xml; gzip_types选项是非常重要的,里边规定了能够进行压缩的文件的类型,如果在实际操作中某一类型文件没有压缩没有生效,就从这里找原因。
gzip_vary on; 启用应答头"Vary: Accept-Encoding"
gzip_comp_level 6; 压缩比例,用来指定GZIP压缩比,1压缩比最小,处理速度最快,9压缩比最大,传输速度快,但是处理慢,也比较消耗CPU资源。

gzip_proxied off; nginx做为反向代理时启用
gzip_disable msie6; 让IE6不适用gzip,IE6对gzip支持并不好,可能会看到乱码。

以上是关于Nginx配置文件详解以及Nginx的启停控制,这里是精华的主要内容,如果未能解决你的问题,请参考以下文章

NGINX的启停命令以及动态加载配置文件的命令

Nginx服务的控制方式

生产技巧:Feign如何控制Hystrix的启停超时熔断?

nginx和php-fpm的进程启停重载总结

通过现象看本质——Nginx配置文件详解

Tomcat的启停脚本源码解析