nginx篇高级之优化整理
优化思路:
一.修改连接数和工作线程让其支持更多的并发量.
worker_processes 2; //与CPU核心数量一致
worker_connections 65535; //每个worker最大并发连接数
二.调整内核参数限制(最大打开文件数量)
ulimit -a //查看所有属性值
ulimit -Hn 100000 //设置硬限制(临时规则)
ulimit -Sn 100000 //设置软限制(临时规则)
编辑 /etc/security/limits.conf
* soft nofile 100000
* hard nofile 100000
#该配置文件分4列,分别如下:
#用户或组 硬限制或软限制 需要限制的项目 限制的值
三.优化nginx数据包头缓存
在nginx配置文件中
http{
client_header_buffer_size 1k; //默认请求包头信息的缓存
large_client_header_buffers 4 4k; //大请求包头部信息的缓存个数与容量
}
四.通过在配置文件中指定客户端缓存静态文件时间.
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ {
expires 30d; //定义客户端缓存时间为30天
}
}
五.日志文件切割
通过脚本对nginx进行日志切割,重启nginx服务即可.
六.对页面进行压缩处理
http{
gzip on; //开启压缩
gzip_min_length 1000; //小文件不压缩
gzip_comp_level 4; //压缩比率
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
//对特定文件压缩,类型参考mime.types
}
七.服务器内存缓存
如果是处理大量静态文件,可以将文件缓存在内存,下次访问会更快.
http {
open_file_cache max=1000 inactive=30s; //设置服务器最大缓存1000个文件句柄,关闭30秒内无请求的文件句柄
open_file_cache_valid 60s; //文件句柄的有效时间是60秒,60秒后过期
open_file_cache_min_uses 10; //只有访问次数超过10次会被缓存
open_file_cache_errors off;
}
八.隐藏版本信息
http {
server_tokens off; //在http中加上server_tokens off
}
编辑php-fpm配置文件,在动静分离location 分离php页面中找到fastcgi配置
将 fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
改为 fastcgi_param SERVER_SOFTWARE nginx;