Nginx配置参数解释

2023-11-07

 

目录

worker_processes

work_cpu_affinity

worker_rlimit_nofile

events模块

1、use method;

2、worker_connections

3、multi_accept

http模块

1、server_names_hash_bucket_size

2、client_header_buffer_size

3、large_client_header_buffers

4、client_max_body_size

5、client_header_timeout

6、client_body_timeout

7、send_timeout

8、sendfile

9、tcp_nopush

10、tcp_nodelay

11、keepalive_timeout

12、server_tokens

13、limit_conn_zone

14、limit_conn

15、limit_conn_log_level

16、gzip

17、gzip_min_length

18、gzip_comp_level

19、gzip_buffers

20、gzip_types

21、gzip_http_version  (1.0|1.1)

22、gzip_proxied

23、gzip_vary

24、gzip_disable

25、proxy_temp_path

26、proxy_cache_path

27、client_body_buffer_size

28、proxy_connect_timeout (default 60s)

29、proxy_read_timeout (default 60s)

30、proxy_send_timeout (default 60s)

31、proxy_buffer_size

32、proxy_buffers

33、proxy_busy_buffers_size

34、proxy_temp_file_write_size

35、proxy_next_upstream

EXAMPLE 基于上述 我配置的简单的nginx.conf 优化之后的 web代理配置:


worker_processes

工作进程数,操作系统启动多少个工作进程运行Nginx。注意是工作进程,不是有多少个nginx工程。在Nginx运行的时候,会启动两种进程,一种是主进程master process;一种是工作进程worker process。worker process。主进程负责监控端口,协调工作进程的工作状态,分配工作任务,工作进程负责进行任务处理。一般这个参数要和操作系统的CPU内核数成倍,(当值为 auto 时,nginx会自己决定工作进程数量)

下面是nginx官网原话:

Syntax: worker_processes number | auto;
Default: worker_processes 1;

Context: main Defines the number of worker processes. The optimal value depends on many factors including (but not limited to) the number of CPU cores, the number of hard disk drives that store data, and load pattern. When one is in doubt, setting it to the number of available CPU cores would be a good start (the value “auto” will try to autodetect it). The auto parameter is supported starting from versions 1.3.8 and 1.2.5.

网上寻找的一些经验总结:

  • 一般设置为1就足够了,可以把连接数设置的很大,比如65535。
  • 如果有SSL,gzip等比较消耗CPU资源的工作,而且CPU是多核的话,可以把值设置为和CPU核数一样。
  • 如果有很多静态文件而且它们的总大小超过内存大小,那么可以增加工作进程来充分利用I/O带宽。
  • 如果要开多个工作进程,最好是CPU核数的1~2倍。正常情况下,不要太多,因为工作进程太多会影响nginx主进程调度。
  • worker_processes最多开启8个,8个以上性能提升不会再提升了,而且稳定性变得更低,所以8个进程够用了。

work_cpu_affinity

Nginx默认没有开启利用多核CPU,我们可以通过增加worker_cpu_affinity配置参数来充分利用多核CPU。CPU是任务处理,计算最关键的资源,CPU核越多,性

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Nginx配置参数解释 的相关文章

随机推荐

  • 记自动调参平台raytune和chemprop的一次实验

    首先介绍一下raytune这个东西 了解机器学习深度学习的朋友应该知道调参是机器学习中必不可少的一个环节 当你的模型被设计出来之后 或者你使用别人现成的模型的时候 你是要去调整模型的一个超参数从而是模型在你的数据集上达到一个比较好的效果的
  • MyBatis Plus 拦截器实现数据权限控制(完整版)

    一 说明 变化 相比于之前写的数据权限拦截器 新增了白名单功能 通过注解的方式让哪些SQL不进行数据权限拦截 之前的文章地址 思路 通过MyBatisPlus的拦截器对每个要执行的SQL进行拦截 然后判断其是否为查询语句 如果是查询语句 则
  • TraceWatch等10个强大开源Web流量分析工具下载地址

    10个强大开源Web流量分析工具 Web 流量分析工具多不胜数 从 WebTrends 这样专业而昂贵的 到 Google Analytics 这样强大而免费的 从需要在服务器端单独部署的 到可以从前端集成的 不一而足 本文收集并介绍了10
  • 第四十五讲:神州防火墙P2P流量控制配置

    实验拓扑图如下所示 配置要求 出口带宽 100Mbps 外网为 eth0 1 接口 内网连接两个网段172 16 1 0 24 和 192 168 1 0 24 需限制 P2P 应用其下行带宽为 10M 上传最大 5M 配置步骤 一 指定接
  • element ui + vue项目,el-select选择器,选中值后无法及时回显到页面上

    出现原因 不详 解决方法 el select 标签上绑定chang事件 强制刷新 change forceUpdate
  • Jsoniter简单的使用介绍

    2017 7 1日更新 前几天在公司做一个模块的时候想使用Jsoniter解析一个json字符串 结果发现 当字符串长度大于一定值的时候 就会抛错 查了写资料 无果 最后换成了gson 成功解析 之前一直在使用google的gson以解析j
  • Qt的MOC机制

    Qt的MOC机制 Qt扩展了C 使得开发者拥有很多方便使用的工具 如何使用Qt提供的特性呢 比如信号与槽 那就需要开发者在类中声明Q OBJECT宏 这样程序员就能使用Qt提供的功能了 为什么这样可以呢 先从C 文件的编译过程开始讲 一般C
  • QT从入门到实战x篇_32_实战篇:翻金币(创建项目;场景切换;设置背景图片;按钮控件封装;跳跃特效;QTimer::singleShot();引入数据类;QMap<>;翻金币特效;插入音效;打包)

    本篇将会根据前面讲解的关于Qt的相关内容进行一个实战项目 项目链接 翻金币案例 关于此项目比较好的博客地址如下 QT 翻金币项目 翻金币项目总结 1 项目简介 2 项目基本配置 2 1 创建项目 2 2 添加资源 3 主场景 3 1 设置游
  • Webpack实用工具之webpack-server

    Webpack实用工具之Webpack server 一 webpack server的原理简单解读 使用webpack server时 webpack server会为我们的当前的项目开启一个服务器 将其中的文件放入到该服务器中供我们进行
  • 字符串旋转(C#)

    字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部 请定义一个函数实现字符串左旋转操作的功能 比如 输入字符串 abcdefg 和数字2 该函数将返回左旋转两位得到的结果 cdefgab 来源 力扣 LeetCode 链接 ht
  • 使用java输出一组6位的随即数组

    可以使用 Java 的 Random 类来生成一组 6 位的随机数组 下面是一个示例代码 import java util Random public class Main public static void main String ar
  • C#使用操作符~按位取反

    int x 12345678 int y x 是按位取反操作符 string xStr Convert ToString x 2 PadLeft 32 0 将int数值 转换成二进制字符串 string yStr Convert ToStr
  • Angular嵌套路由

    嵌套路由 1 在app routing module ts文件中配置路由 const routes Routes path home component HomeComponent children path tabbar componen
  • STM32学习笔记(6):PWM控制

    PWM控制 PWM方波 脉冲宽度调制 PWM 是英文 Pulse Width Modulation 的缩写 简称脉宽调制 是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术 广泛应用在从测量 通信到功率控制与变换的许多领域中
  • Gradle使用Maven仓库

    在build gradle文件中 修改repositories如下 repositories mavenLocal mavenCentral 这样的话 就会优先从maven的仓库中查找所需的jar包 我的maven配置本地仓库为D repo
  • github哪些协议能商用_版权->GitHub代码版权你关心过吗?

    作为一个无版权习惯的码农 终于遇到一个大坑 堵住了自己一条光明大路 那就是 版权 大部分程序员遵从的原则就是不重复造轮子 作为一个非著名相声演员 哦不 非大牛程序员 咳咳 把这句至理名言发挥的更是淋漓尽致 只要有需求 想好大致架构思路和逻辑
  • 数据组合利器:从入门到精通Python中的zip()函数应用

    介绍 zip 函数是Python内置的一个非常有用的函数 它可以将多个可迭代对象打包成一个元组构成的新的可迭代对象 本文将深入探讨zip 函数的用法 从入门到精通 目录 zip 函数的基本用法 使用zip 函数合并列表 使用zip 函数进行
  • Unity中的UGUI源码解析之事件系统(7)-输入模块(上)

    Unity中的UGUI源码解析之事件系统 7 输入模块 上 从今天开始 我们进入事件系统的的最后一部分 输入模块 InputModules 输入模块是事件系统的核心 是真正使用检测和调用回调的地方 输入模块主要有几个角色 分别为 BaseI
  • 深入了解jQuery的children方法

    jQuery是一种简化HTML文档遍历和操作 事件处理 动画和AJAX等常见任务的JavaScript库 而children 方法是其中之一 它是一个非常实用的方法 可以让我们在DOM树中轻松找到特定元素的子元素 并进行进一步操作 在本文中
  • Nginx配置参数解释

    目录 worker processes work cpu affinity worker rlimit nofile events模块 1 use method 2 worker connections 3 multi accept htt