優化Nginx服務的worker進程個數
在高併發、高訪問的Web服務場景,需要事先啓動好更多的Nginx進程,以確保快速響應大量併發的用戶請求。
根據該服務器所有的CPU顆數的核數加起來總和*2 =worker_processes XX;
官方建議是和核數相同
例如一臺2顆物理CPU 每個CPU的核數爲4核 ;計算結果就是8*2 =16 (爲worker_processes XX)
[root@blog ~]# vi /etc/nginx/nginx.conf
[root@blog ~]# vi /etc/nginx/nginx.conf
user nginx;
worker_processes 24;所有CPU的核數總和
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 24576;**24核乘以每核可承載1024連接數
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
**sendfile on;**開啓高效的文件傳輸模式
**tcp_nopush on;**放開#註釋符 可以防止網絡和磁盤I/O阻塞,提升Nginx工作效率。
**keepalive_timeout 65;**優化連接超時時間
**gzip on;**啓用傳輸壓縮,文件被壓縮小了返給用戶更快
include /etc/nginx/conf.d/*.conf;
**server_tokens off;**隱藏版本號