nginx优化的六点方法


Posted in Servers onMarch 31, 2021

一.优化Nginx并发量

[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配置文件,增加并发量

[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内核参数(最大文件数量)

[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列,分别如下:
#用户或组 硬限制或软限制 需要限制的项目 限制的值

优化后测试服务器并发量

[root@proxy ~]# ab -n 2000 -c 2000 http://192.168.4.5/

三.优化Nginx数据包头缓存

[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配置文件,增加数据包头部缓存大小

[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

四.对页面进行压缩处理

[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
.. ..

五.服务器内存缓存

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次会被缓存
}

六.浏览器本地缓存静态数据

[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

 

到此这篇关于nginx优化的六点方法的文章就介绍到这了,更多相关nginx优化内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Servers 相关文章推荐
详解如何修改nginx的默认端口
Mar 31 Servers
Nginx 502 Bad Gateway错误原因及解决方案
Mar 31 Servers
nginx反向代理时如何保持长连接
Mar 31 Servers
Nginx的反向代理实例详解
Mar 31 Servers
Nginx配置https原理及实现过程详解
Mar 31 Servers
Nginx安装完成没有生成sbin目录的解决方法
Mar 31 Servers
详解nginx location指令
Jan 18 Servers
Nginx中使用Lua脚本与图片的缩略图处理的实现
Mar 18 Servers
配置Kubernetes外网访问集群
Mar 31 Servers
nginx配置之并发频次限制
Apr 18 Servers
Nginx限流和黑名单配置
May 20 Servers
腾讯云服务器部署前后分离项目之前端部署
Jun 28 Servers
Nginx优化服务之网页压缩的实现方法
Nginx 负载均衡是什么以及该如何配置
Mar 31 #Servers
Nginx快速入门教程
nginx如何将http访问的网站改成https访问
Mar 31 #Servers
Nginx+Tomcat实现负载均衡、动静分离的原理解析
使用nginx动态转换图片大小生成缩略图
Mar 31 #Servers
Nginx反向代理多个服务器的实现方法
You might like
天津市收音机工业发展史
2021/03/04 无线电
网络资源
2006/10/09 PHP
mysql下创建字段并设置主键的php代码
2010/05/16 PHP
php无限遍历文件夹示例分享
2014/03/04 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
2014/08/20 PHP
PHP集成百度Ueditor 1.4.3
2014/11/23 PHP
PHP join()函数用法与实例讲解
2019/03/11 PHP
JavaScript DOM 学习第三章 内容表格
2010/02/19 Javascript
javascript中length属性的探索
2011/07/31 Javascript
javascript加号&quot;+&quot;的二义性说明
2013/03/04 Javascript
基于jquery中children()与find()的区别介绍
2013/04/26 Javascript
jQuery内容过滤选择器用法分析
2015/02/10 Javascript
如何改进javascript代码的性能
2015/04/02 Javascript
jquery.validate提示错误信息位置方法
2016/01/22 Javascript
jQuery模拟360浏览器切屏效果幻灯片(附demo源码下载)
2016/01/29 Javascript
纯JS实现轮播图
2017/02/22 Javascript
jQuery中的deferred对象和extend方法详解
2017/05/08 jQuery
vue代理和跨域问题的解决
2018/07/18 Javascript
vue下载excel的实现代码后台用post方法
2019/05/10 Javascript
node.JS事件机制与events事件模块的使用方法详解
2020/02/06 Javascript
原生js+css实现tab切换功能
2020/09/17 Javascript
[01:00]选手抵达华西村 整装待发备战2016国际邀请赛中国区预选赛
2016/06/25 DOTA
Python中使用strip()方法删除字符串中空格的教程
2015/05/20 Python
Flask框架的学习指南之制作简单blog系统
2016/11/20 Python
详解Python下载图片并保存本地的两种方式
2019/05/15 Python
解决django中ModelForm多表单组合的问题
2019/07/18 Python
Django rstful登陆认证并检查session是否过期代码实例
2019/08/13 Python
师范生自荐信
2013/10/27 职场文书
个人自我鉴定怎么写
2013/10/28 职场文书
资料员的岗位职责
2013/11/20 职场文书
《晚上的太阳》教学反思
2014/04/23 职场文书
党的群众路线教育实践活动总结大会主持词
2014/10/30 职场文书
MySQL 数据恢复的多种方法汇总
2021/06/21 MySQL
Window server中安装Redis的超详细教程
2021/11/17 Redis
MySQL表锁、行锁、排它锁及共享锁的使用详解
2022/04/02 MySQL
使用python绘制横竖条形图
2022/04/21 Python