nginx优化的几点方法(图文)
一.优化Nginx并发量
1 2 3 |
[root@proxy ~] # ab -n 2000 -c 2000 http://192.168.4.5/ Benchmarking 192.168.4.5 (be patient) socket: Too many open files (24) // 提示打开文件数量过多 |
修改Nginx配置文件,增加并发量
1 2 3 4 5 6 7 8 9 |
[root@proxy ~] # vim /usr/local/nginx/conf/nginx.conf .. .. worker_processes 2; // 与CPU核心数量一致 events { worker_connections 65535; // 每个worker最大并发连接数 use epoll; } .. .. [root@proxy ~] # nginx -s reload |
二.优化Linux内核参数(最大文件数量)
1 2 3 4 5 6 7 8 9 |
[root@proxy ~] # ulimit -a //查看所有属性值 [root@proxy ~] # ulimit -Hn 100000 //设置硬限制(临时规则) [root@proxy ~] # ulimit -Sn 100000 //设置软限制(临时规则) [root@proxy ~] # vim /etc/security/limits.conf
.. .. * soft nofile 100000 * hard nofile 100000 #该配置文件分4列,分别如下: #用户或组 硬限制或软限制 需要限制的项目 限制的值 |
优化后测试服务器并发量
1 | [root@proxy ~] # ab -n 2000 -c 2000 http://192.168.4.5/ |
三.优化Nginx数据包头缓存
1 2 3 4 5 6 7 8 9 10 11 |
[root@proxy ~] # cat lnmp_soft/buffer.sh #!/bin/bash URL=http: //192 .168.4.5 /index .html? for i in {1..5000} do
URL=${URL} v $i=$i done curl $URL // 经过5000次循环后,生成一个长的URL地址栏 [root@proxy ~] # ./buffer.sh .. .. <center><h1>414 Request-URI Too Large< /h1 >< /center > // 提示头部信息过大 |
修改Nginx配置文件,增加数据包头部缓存大小
1 2 3 4 5 6 7 8 |
[root@proxy ~] # vim /usr/local/nginx/conf/nginx.conf .. .. http { client_header_buffer_size 1k; // 默认请求包头信息的缓存 large_client_header_buffers 4 4k; // 大请求包头部信息的缓存个数与容量 .. .. } [root@proxy ~] # nginx -s reload |
四.对页面进行压缩处理
1 2 3 4 5 6 7 8 9 |
[root@proxy ~] # cat /usr/local/nginx/conf/nginx.conf 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 .. .. |
五.服务器内存缓存
1 2 3 4 5 6 7 8 9 |
http { open_file_cache max=2000 inactive=20s;
open_file_cache_valid 60s;
open_file_cache_min_uses 5;
open_file_cache_errors off; // 设置服务器最大缓存2000个文件句柄,关闭20秒内无请求的文件句柄 // 文件句柄的有效时间是60秒,60秒后过期 // 只有访问次数超过5次会被缓存 } |
六.浏览器本地缓存静态数据
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[root@proxy ~] # vim /usr/local/nginx/conf/nginx.conf 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天 } } [root@proxy ~] # cp /usr/share/backgrounds/day.jpg /usr/local/nginx/html [root@proxy ~] # nginx -s reload |
上一篇:IIS7 IIS8 http自动跳转到HTTPS(80端口跳转443端口)(图文)
下一篇:没有了