nginx优化的六点方法
一.优化Nginx并发量
[root@proxy~]#ab-n2000-c2000http://192.168.4.5/ Benchmarking192.168.4.5(bepatient) socket:Toomanyopenfiles(24)//提示打开文件数量过多
修改Nginx配置文件,增加并发量
[root@proxy~]#vim/usr/local/nginx/conf/nginx.conf
....
worker_processes2;//与CPU核心数量一致
events{
worker_connections65535;//每个worker最大并发连接数
useepoll;
}
....
[root@proxy~]#nginx-sreload
二.优化Linux内核参数(最大文件数量)
[root@proxy~]#ulimit-a//查看所有属性值 [root@proxy~]#ulimit-Hn100000//设置硬限制(临时规则) [root@proxy~]#ulimit-Sn100000//设置软限制(临时规则) [root@proxy~]#vim/etc/security/limits.conf .... *softnofile100000 *hardnofile100000 #该配置文件分4列,分别如下: #用户或组硬限制或软限制需要限制的项目限制的值
优化后测试服务器并发量
[root@proxy~]#ab-n2000-c2000http://192.168.4.5/
三.优化Nginx数据包头缓存
[root@proxy~]#catlnmp_soft/buffer.sh
#!/bin/bash
URL=http://192.168.4.5/index.html?
foriin{1..5000}
do
URL=${URL}v$i=$i
done
curl$URL//经过5000次循环后,生成一个长的URL地址栏
[root@proxy~]#./buffer.sh
....
414Request-URITooLarge
//提示头部信息过大
修改Nginx配置文件,增加数据包头部缓存大小
[root@proxy~]#vim/usr/local/nginx/conf/nginx.conf
....
http{
client_header_buffer_size1k;//默认请求包头信息的缓存
large_client_header_buffers44k;//大请求包头部信息的缓存个数与容量
....
}
[root@proxy~]#nginx-sreload
四.对页面进行压缩处理
[root@proxy~]#cat/usr/local/nginx/conf/nginx.conf
http{
....
gzipon;//开启压缩
gzip_min_length1000;//小文件不压缩
gzip_comp_level4;//压缩比率
gzip_typestext/plaintext/cssapplication/jsonapplication/x-javascripttext/xmlapplication/xmlapplication/xml+rsstext/javascript;
//对特定文件压缩,类型参考mime.types
....
五.服务器内存缓存
http{
open_file_cachemax=2000inactive=20s;
open_file_cache_valid60s;
open_file_cache_min_uses5;
open_file_cache_errorsoff;
//设置服务器最大缓存2000个文件句柄,关闭20秒内无请求的文件句柄
//文件句柄的有效时间是60秒,60秒后过期
//只有访问次数超过5次会被缓存
}
六.浏览器本地缓存静态数据
[root@proxy~]#vim/usr/local/nginx/conf/nginx.conf
server{
listen80;
server_namelocalhost;
location/{
roothtml;
indexindex.htmlindex.htm;
}
location~*\.(jpg|jpeg|gif|png|css|js|ico|xml)${
expires30d;//定义客户端缓存时间为30天
}
}
[root@proxy~]#cp/usr/share/backgrounds/day.jpg/usr/local/nginx/html
[root@proxy~]#nginx-sreload
到此这篇关于nginx优化的六点方法的文章就介绍到这了,更多相关nginx优化内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!