Nginx企业级负载均衡:技术详解系列(9)—— Nginx核心配置详解(全局配置)

在这里插入图片描述
你好,我是赵兴晨,97年文科程序员。‍‍‍‍‍

在 Nginx企业级负载均衡:技术详解系列(8)—— Nginx核心配置详解(默认配置文件)文章中,咱们讨论了Nginx核心配置文件的基础知识,然而,Nginx的知识点还有很多,总有一些精妙的细节等着咱们去发掘。

今天,咱们来深入发掘一下Nginx的全局配置指令,这些指令对于确保Nginx服务器的高效和稳定运行具有决定性的作用。

为了帮助大家更好地理解和应用,我将这些配置指令分为几个类别,让我们一一解析它们的重要性和应用场景。

正常运行的必备配置

1、用户和组:设置启动Nginx工作进程的用户和组

user nginx nginx;

2、工作进程数:根据CPU核心数设置Nginx工作进程的数量,一般设置为和CPU核心数相同 auto即可。

worker_processes [number | auto];

优化性能相关的配置
1、CPU亲和性:worker_cpu_affinity 将Nginx工作进程绑定到特定的CPU核心,减少CPU资源分配开销,提升性能。默认Nginx是不进行多进程绑定的,绑定并不是意味着当前nginx进程独占一核心CPU,但是可以保证此进程不会运行在其他核心上,这就极大减少了nginx的工作进程在不同的CPU核心上来回跳转,减少了CPU对进程资源分配与回收以及内存管理等。

以下是示例配置

worker_cpu_affinity 00000001 00000010 00000100 00001000;

用于调试及定位问题相关的配置

1、错误日志记录:error_log 设置错误日志的路径和级别,便于问题排查。‍
语法:error_log file [debug | info | notice | warn | error | crit | alert | emerg]

以下是示例配置

#error_log logs/error.log;
#error_log logs/error.log notice;
error_log  /apps/nginx/logs/error.log error;

事件驱动相关的配置

1、进程PID文件:pid 指定nginx主进程PID文件的存放路径。

以下是示例配置

pid /usr/local/nginx/logs/nginx.pid;

其他重要配置

1、工作进程优先级:worker_priority 设置工作进程优先级,-20~20(19)

worker_priority 0;

2、文件描述符限制:worker_rlimit_nofile 所有worker进程能打开的文件数量上限,包括:Nginx的所有连接(例如与代理服务器的连接数),而不仅仅是客户端的连接,另一个考虑因素是实际的并发连接数不能超过系统级别的最大打开文件数的限制。最好与 ulimit -n 或者 limits.conf的值保持一致。

worker_rlimit_nofile 65536;

3、前台运行:daemon off; 用于测试或Docker等环境,使Nginx在前台运行。

4、工作模式:master_process off|on 控制Nginx的master-worker模式,通常用于开发调试场景,默认为on。

Events模块配置

1、最大并发连接数: worker_connections 65536; 设置单个工作进程的最大并发连接数。‍‍‍‍‍

2、事件驱动模型:use epoll; 使用epoll事件驱动,Nginx支持众多的事件驱动,比如select、poll、epoll,只能设置在events模块中。‍‍‍‍‍‍‍‍

3、惊群效应控制:accept_mutes on; on为同一时刻一个请求轮流worker进程处理,而防止被同时唤醒所有worker,避免多个睡眠进程被唤醒的设置,默认为off,心情求会唤醒所有worker进程,此过程称为“惊群”,因此Nginx刚安装完以后要进行适当的优化。建议设置为 on。‍‍‍‍‍‍

4、多连接接受:multi_accept on; on时Nginx服务器的每个工作进程可以同时接受多个新的网络连接,此指令默认为off,即默认为一个工作进程只能一次接受一个新的网络连接,打开后几个同时接受多个。建议设置为on。

OK,以上就是今天的分享,感谢您的阅读,期待在下一篇文章中与您再次相遇。保持好奇,继续探索,让我们一起在技术的道路上不断前行!


最后,我为您准备了一份特别的技术学习礼物,包括:
Linux学习笔记:详尽记录了Linux的核心知识点和实用技巧。
Java基础笔记:为您打下坚实的Java编程基础。
Java面试总结:十万字的面试经验,助您轻松应对各种技术面试。

【一键领取】
领取这份资料包,您只需轻松一扫:
按住👇🏻图片,扫描二维码,备注:【大礼包】‍
通过好友验证后,您的的专属资料包就会立即发送给您。

Linux系统学习笔记、Java基础学习笔记、10万字Java面试总结
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/13699.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python设计模式11】建造者模式

建造者模式(Builder Pattern)是一种创建型设计模式,它将一个复杂对象的构建过程分离出来,使得同样的构建过程可以创建不同的表示。建造者模式通过使用多个简单的对象一步一步构建成一个复杂的对象。 建造者模式的结构 建造者模式…

centos9 stream在线安装NVIDIA驱动(rockylinux9.4也成功安装nvidia驱动)

Install NVIDIA Drivers on CentOS Stream 9(rockylinux9.4成功) 主板为技嘉mz72-hb2 显卡为4090 一.Disable Secure Boot From the BIOS 二.Enabling the EPEL Repository on CentOS Stream 9 1.update the DNF package repository cache sudo dnf …

STM32控制HC-SR04超声模块获取距离

欢迎入群共同学习交流 时间记录:2024/5/23 一、模块介绍 (1)引脚介绍 VCC:电源引脚,接单片机3.3/5V GND:电源地 Trig:超声信号触发引脚 Echo:超声信号接收引脚 (2&…

java.util.Arrays 详解

排序 sort(int[] a): 对指定 int 型数组按数字升序进行排序。sort(Object[] a): 对指定对象数组进行排序&#xff08;对象的类必须实现 Comparable 接口&#xff09;。sort(T[] a, Comparator<? super T> c): 使用指定的比较器对数组进行排序。sort(int[] a, int fromI…

给你一把接口响应断言神器,你要不要?

JSON Schema是用来标记和校验JSON数据&#xff0c;类似于XMLSchema,可用在自动化测试验证JSON数据。 官网&#xff1a;http://json-schema.org/ 最常用版本&#xff1a;draft 04。&#xff08;目前各类编程语言对draft 04支持最广泛&#xff09; 举个例子 假如你有一个接口…

202473读书笔记|《但愿呼我的名为旅人:松尾芭蕉俳句300》——围炉夜话,身顿心安,愿每个人都能在爱里自由驰骋

202473读书笔记|《但愿呼我的名为旅人&#xff1a;松尾芭蕉俳句300》——围炉夜话&#xff0c;身顿心安&#xff0c;愿每个人都能在爱里自由驰骋 &#x1f60d;&#x1f60d;&#x1f929;&#x1f929; 译者序正文二正文三正文四正文五正文六正文七 《但愿呼我的名为旅人&…

Lua中table.sort()使用方式

table.sort(tab,compare) 参数如下&#xff1a; tab:表名 compare:比较规则函数名 简略写法&#xff1a; a {1,2,3} table.sort(a,function(a,b) return a>b end) compare这个参数是一个函数&#xff0c;它有两个参数&#xff0c;你可以理解为表中的两个不同元素&…

智能进化:让AI大模型变得更聪明的路径探索

前言 随着人工智能&#xff08;AI&#xff09;技术的飞速发展&#xff0c;大模型在多个领域展现出了前所未有的能力。然而&#xff0c;它们仍然面临着理解力、泛化能力和适应性等方面的挑战。如何让大模型变得更聪明&#xff0c;是当前AI研究和应用的一个重要课题。本文将探讨…

解除网页禁止选择

控制台输入以下命令 复制&#xff1a;javascript:void(document.body.οncοpy) 可选&#xff1a;javascript:void(document.body.onselectstart) 拖拉&#xff1a;javascript:void(document.body.οnmοuseup)

C++实现基于http协议的epoll非阻塞模型的web服务器框架(支持访问服务器目录下文件的解析)

使用方法&#xff1a; 编译 例子&#xff1a;./httpserver 9999 ../ htmltest/ 可执行文件 端口 要访问的目录下的 例子&#xff1a;http://192.168.88.130:9999/luffy.html 前提概要 http协议 &#xff1a;应用层协议&#xff0c;用于网络通信&#xff0c;封装要传输的数据&…

npm install [Error]

npm install 依赖的时候报错 依赖版本问题的冲突&#xff0c;忽视即可 使用 npm install --legacy-peer-deps

剪画小程序:3个分离人声提取小技巧,赶紧收藏起来吧!

Hello&#xff01;大家好呀&#xff01;这里是社会主义搬砖人小画&#xff01; 人声分离&#xff0c;是指将混合在一起的人声和其他声音&#xff08;如背景音乐、环境噪音等&#xff09;分离开来&#xff0c;提取出单独的人声部分的过程。 在实际应用中&#xff0c;人声分离技…

leetcode654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索

654.最大二叉树 构造树一般采用的是前序遍历&#xff0c;因为先构造中间节点&#xff0c;然后递归构造左子树和右子树 确定递归函数的参数和返回值 参数传入的是存放元素的数组&#xff0c;返回该数组构造的二叉树的头结点&#xff0c;返回类型是指向节点的指针。 TreeNode…

Unity 开发Hololens,制作面板跟随眼镜一起移动,(面板跟踪)

Hololens滑动框以及面板跟踪 创建空物体&#xff0c;并添加组件 SolverHandler、RedialView、FollowMeToggle 创建按钮&#xff0c;控制停止/开始跟踪 创建一个Hololens自带的按钮放到右上角&#xff0c;并添加事件 创建蓝色背景板 创建空物体Backplate&#xff0c;下面再…

个体因果效应估计|EDVAE:用于个体治疗效果估计的反事实推理中的解开潜在因素模型

【摘要】根据观察数据估计个体治疗效果&#xff08;ITE&#xff09;是一项至关重要但具有挑战性的任务。解缠结表示已用于将代理变量分为混杂变量、工具变量和调整变量。然而&#xff0c;根据观测数据准确地进行反事实推理来识别 ITE 仍然是一个悬而未决的问题。在本文中&#…

AppInventor2要在界面上做一个电量图标,有什么好的思路吗?

问&#xff1a;要在界面上做一个电量图标&#xff0c;有什么好的思路吗&#xff1f; 答&#xff1a;首先&#xff0c;很容易想到使用进度条相关的组件&#xff0c;原生”滑动条“组件可以吗&#xff1f; 答案显而易见&#xff0c;首先它的样式自定义不够&#xff0c;UI不外乎上…

STM32_ADC

1、ADC简介 ADC&#xff0c;即Analog-Digital Converter&#xff0c;模拟-数字转换器。 ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量&#xff0c;建立模拟电路到数字电路的桥梁。 12位逐次逼近型ADC&#xff0c;1us转换时间。 输入电压范围&#xff1a;0~3.3…

P6【力扣144,94,145】【数据结构】【二叉树遍历】C++版

【144】二叉树的前序遍历 1、递归法&#xff1a; class Solution { public:void preorder(TreeNode* root, vector<int> &res){if(root nullptr){return;}res.push_back(root->val);preorder(root->left, res);preorder(root->right, res);}vector<in…

没有密码如何卸载卡巴斯基?

如果忘记卡巴斯基6.0的保护密码&#xff0c; &#xff08;1&#xff09;进入安全模式下 &#xff08;2&#xff09;打开6.0的安装目录 Kaspersky Anti-Virus 6.0: C://Program Files//Kaspersky Lab//Kaspersky Anti-Virus 6.0 &#xff08;3&#xff09;将目录中的avp.exe改…

CVE-2020-7982 OpenWrt 远程命令执行漏洞学习(更新中)

OpenWrt是一款应用于嵌入式设备如路由器等的Linux操作系统。类似于kali等linux系统中的apt-get等&#xff0c;该系统中下载应用使用的是opgk工具&#xff0c;其通过非加密的HTTP连接来下载应用。但是其下载的应用使用了SHA256sum哈希值来进行检验&#xff0c;所以将下载到的数据…