NGINX 优化 之 十二

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NGINX 优化 之 十二相关的知识,希望对你有一定的参考价值。

一、nginx 基本安全优化

1、隐藏NGINX软件版本号信息

[[email protected] nginx2]# curl -I 10.3.151.34
HTTP/1.1 502 Bad Gateway
Server: nginx/1.13.4
Date: Tue, 24 Jul 2018 01:22:28 GMT
Content-Type: text/html
Content-Length: 537
Connection: keep-alive
ETag: "5b505df9-219"

2、NGINX配置文件nginx.conf中的http标签段内加入“server_tokens off” 参数:

http
{
        server_tokens off;
}

二、根据服务器性能调整worker进程个数

1、worker进程理解

NGINX服务有Master进程和worker进程之分,Maste为管理进程,Worker为工作进程,而Worker进程默认为1个,而在搭建服务器时,可根据CPU的核数进程设置。

2、查看服务器CPU核数

[[email protected] nginx2]# grep processor /proc/cpuinfo | wc -l
8
或者通过top命令,然后按“1”就可查看CPU核数

3、修改worker进程数

worker_processes  8;

三、NGINX事件处理模型优化

1、nginx事件处理模型理解

NGINX的连接处理机制在不同的操作系统会采用不同的I/O模型,在LINUX下,NGINX使用EPOLL的I/O多路复用模型,在WINDOWS中使用的是ICOP。

2、修改事件处理

events {
    use epoll;       
    #根据官方文档建议,也可以不指定事件处理模型,NGINX会自动选择最佳的模式。
}

四、调整NGINX单个进程允许的最大客户端并发连接数

1、单进程最大并发连接数理解

worker_connections 也是个事件模块指令,用于定义NGINX每个进程的最大连接数,默认为1024,最大客户端连接数由work_processes和worker_connections决定,即Max_client=worker_processes*worker_connections。进程的最大连接数受linux系统进程的最大打开文件数限制,在执行操作系统“ULIMIT -HSn 65535” 或配置相应文件后,worker_connections的设置才能生效。

2、修改单进程最大并发连接数配置

events {
worker_connections  10240;
}

四、调整NGINX worker进程最大打开文件数

1、进程最大打开文件数理解

最大打开文件数,可设置为系统优化后的ulimit -HSn 的结果。

2、修改进程最大打开文件数

worker_processes  8;
events {
        worker_connections  1024;
}
worker_rlimit_nofile 65535;      #进程最大打开文件数
error_log  logs/error.log;

以上是关于NGINX 优化 之 十二的主要内容,如果未能解决你的问题,请参考以下文章

nginx优化(突破十万并发)

nginx 优化(突破十万并发)

nginx 的一些优化(突破十万并发)

linux学习:Nginx--常见功能配置片段与优化-06

Nginx优化教程 实现突破十万并发

Nginx配置和内核优化 实现突破十万并发