码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • nginx常用优化


    文章目录

    • 一、系统配置
      • `修改/etc/sysctl.conf`
      • Linux修改文件句柄数|
    • 二、nginx配置
      • `全局配置`
      • `http配置`
      • `server配置`
    • 三、参考文章

    一、系统配置

    修改/etc/sysctl.conf

    net.ipv4.tcp_syncookies = 1: 开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0
    net.ipv4.tcp_tw_reuse = 1: 开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0
    net.ipv4.tcp_tw_recycle = 1: 开启TCP连接中TIME-WAIT sockets的快速回收,默认为0
    
    • 1
    • 2
    • 3

    sysctl -p #立即生效

    Linux修改文件句柄数|

    二、nginx配置

    全局配置

    worker_processes  auto;
    worker_cpu_affinity auto;
    worker_rlimit_nofile 65535;
    events {
    	use epoll;
        worker_connections  10240;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    配置项值解释
    worker_processesauto有多少个CPU就开启多少个worker进程
    worker_cpu_affinityauto将工作进程自动绑定到可用 CPU。默认情况下可能多个进程跑在一个CPU上,导致Nginx进程使用硬件资源不均匀,该配置尽可能地分配不同的Nginx进程给不同的CPU处理
    worker_rlimit_nofile65535配置worker进程最大打开文件数,一般等于ulimit -n的值。且需大于等于worker_connections的值
    use epollLinux使用epoll的I/O多路复用模型,windows使用的icop
    worker_connections10240配置每个worker进程能够接受的最大并发连接数。需要设置linux系统的文件句柄数,Linux修改文件句柄数

    http配置

    http {
    	server_tokens off; 					
    	sendfile        on;
    	tcp_nopush on;  				
    	keepalive_timeout  60;
    	gzip on;
    	gzip_disable "msie6";
    	gzip_proxied any;  				    
    	gzip_min_length 1k;  				
    	gzip_comp_level 5;  				
    	gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;							    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    配置项值解释
    server_tokensoff隐藏版本号
    server_tokenson显著减少对CPU的占用
    tcp_nopushon[默认off]是TCP_CORK的一部分具体实现,优化了传输的bits效率,选项仅在使用sendfile的时候才开启
    keepalive_timeout60指定keep-alive连接持续多久,单位是秒。设置低些可以让ngnix持续工作的时间更长
    gzipon启用gzip压缩
    gzip_disablemsie6IE6对Gzip不怎么友好,不给它Gzip了
    gzip_proxiedanynginx 做前端代理时启用该选项,表示无论后端服务器的headers头返回什么信息,都无条件启用压缩
    gzip_min_length1k不压缩临界值,大于1K的才压缩,一般不用改
    gzip_comp_level5压缩级别,1-10,数字越大压缩的越好,时间也越长
    gzip_typestext/css进行压缩的文件类型,缺啥补啥就行了

    server配置

    server {
    	listen       8080;
        server_name  localhost;
    
    	location /abc/ {
            proxy_read_timeout 240s;
            proxy_pass http://192.168.1.2:8088;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    配置项值解释
    proxy_read_timeout240snginx从upstream读取数据包的超时时间,默认60s

    三、参考文章

    Nginx服务器高性能优化的配置——轻松实现10万并发访问量

  • 相关阅读:
    day1-机器学习-回归问题
    Linux下修改jar包中的配置文件application.conf
    PLSQL工具 数据库连接名的设置
    这样回答前端面试题才能拿到offer
    一文搞懂《前后端动态路由权限》
    Python地理数据处理 十八:arcpy批量处理数据之栅格图像的统计分析
    EasyExcel的使用(包含动态表头)
    微信公众号如何通过迁移变更主体?
    直播中的美颜技术详解:视频美颜SDK的开发与应用
    mysql 忘记密码后重置
  • 原文地址:https://blog.csdn.net/anqixiang/article/details/125467011
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号