NGINX 優化 之 十二
阿新 • • 發佈:2018-07-24
復用 模式 RoCE 並發連接數 查看 模塊 命令 軟件 ror 一、NGINX 基本安全優化
1、隱藏NGINX軟件版本號信息
[root@localhost 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核數
[root@localhost 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 優化 之 十二