Nginx配置优化
将不同的进程绑定到不同的CPU
假设 cpu 物理核心有 4 个,那么可以如下配置
worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000;
单个进程允许的客户端最大连接数
Nginx 默认的最大连接数只有 1024,可以适当的调整大一些
events {
worker_connections 4096;
}
配置获取更多的连接数
默认情况下,Nginx 进程只会在一个时刻接收一个新的连接,我们可以配置multi_accept 为 on,实现在一个时刻内可以接收多个新的连接,
events {
multi_accept on;
}
TCP优化
sendfile 配置可以提高 Nginx 静态资源托管效率
tcp_nopush 启用它之后,数据包会累计到一定大小之后才会发送,减小了额外开销,提高网络效率
http {
sendfile on;
tcp_nopush on;
}
配置压缩优化
开启静态资源的压缩
http {
gzip on;
gzip_buffers 16 8k;
gzip_comp_level 6;
gzip_http_version 1.1;
gzip_min_length 256;
gzip_proxied any;
gzip_vary on;
gzip_types
text/xml application/xml application/atom+xml application/rss+xml application/ xhtml+xml image/svg+xml
text/javascript application/javascript application/x-javascript
text/x-json application/json application/x-web-app-manifest+json
text/css text/plain text/x-component
font/opentype font/ttf application/x-font-ttf application/vnd.ms-fontobject
image/x-icon;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
}
日志开启缓存,减少磁盘压力
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 buffer=64k flush=30s;
关闭服务器版本
http {
server_tokens off;
}