Linux系统下如何优化nginx

发布时间 - 2023-05-12 00:00:00    点击率:

nginx简介:

  • Nginx Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,Nginx是一款轻量级的Web 服务器/反向代理服 务器

  • Nginx作为一个后起之秀,他的迷人之处已经让很多人都投入了他的怀抱。配置简单,实现原理简单。做一个负载平衡的再好不过了。

Linux系统优化nginx具体方法

一.优化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
 .. ..
 414 Request-URI Too Large        //提示头部信息过大

修改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

什么是Linux系统

Linux是一种免费使用和自由传播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统,使用Linux能运行主要的Unix工具软件、应用程序和网络协议。


# linux  # nginx  # 句柄  # 是一个  # 配置文件  # 操作系统  # 是一种  # 过了  # 之处  # 很多人  # 后起之秀  # 做一个 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 香港服务器网站生成指南:免费资源整合与高速稳定配置方案  焦点电影公司作品,电影焦点结局是什么?  通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  javascript读取文本节点方法小结  如何快速搭建高效WAP手机网站吸引移动用户?  如何快速登录WAP自助建站平台?  如何构建满足综合性能需求的优质建站方案?  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  如何选择PHP开源工具快速搭建网站?  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  Laravel如何实现API速率限制?(Rate Limiting教程)  如何在腾讯云免费申请建站?  Laravel怎么实现验证码(Captcha)功能  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  canvas 画布在主流浏览器中的尺寸限制详细介绍  青岛网站建设如何选择本地服务器?  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  如何用wdcp快速搭建高效网站?  如何批量查询域名的建站时间记录?  原生JS实现图片轮播切换效果  javascript如何操作浏览器历史记录_怎样实现无刷新导航  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  Android 常见的图片加载框架详细介绍  如何快速搭建FTP站点实现文件共享?  高防服务器:AI智能防御DDoS攻击与数据安全保障  晋江文学城电脑版官网 晋江文学城网页版直接进入  Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  打开php文件提示内存不足_怎么调整php内存限制【解决方案】  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  Bootstrap整体框架之CSS12栅格系统  如何在局域网内绑定自建网站域名?  如何快速上传建站程序避免常见错误?  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  如何确保西部建站助手FTP传输的安全性?  nodejs redis 发布订阅机制封装实现方法及实例代码  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  零基础网站服务器架设实战:轻量应用与域名解析配置指南  Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南  浅谈javascript alert和confirm的美化  如何在万网自助建站平台快速创建网站?  Linux系统命令中screen命令详解  node.js报错:Cannot find module 'ejs'的解决办法  三星网站视频制作教程下载,三星w23网页如何全屏?