golang 修改nginx配置文件_「系统架构」Nginx调优,不可错过的几点

84ea94691a061ad06a0bfec4e07e2ea2.png

通常,Nginx在安装完后,不用更改任何配置信息,我们就可以直接运行它。但是,这显然不能满足我们的生产要求。在生产中,要让Nginx能正常高效地运行我们的应用,我们通常需要对Nginx的配置文件进行一些参数上的设置,这就是所谓的Nginx调优。如下就是Nginx的一些重要配置,下面我们来详细介绍其中关键的两个:

bf6e98730b1317daf0d71ab835654dfd.png

1、worker_processes

这个属性表示当操作系统启动时,有多少个工作进程将运行Nginx。

在Nginx运行时,系统会启动两种进程,一种是Master主进程,一种是Worker工作进程。主进程负责监控端口,协调工作进程的工作状态,分配工作任务;工作进程负责执行任务处理。通常,这个参数要设置成和操作系统的CPU内核数成倍数。因为,这样才能充分利用CPU的性能。

2、woker_connections

这个属性是指单个工作进程可以允许同时建立连接(无论这个连接是Nginx外部建立的,还是Nginx内部建立的)的数量。这里需要注意的是,一个工作进程建立一个连接后,进程将打开一个文件副本。所以,这个数量还与操作系统设定的进程最大可打开的文件副本数有关。

关于这一点,很多资料介绍说在修改worker_connections时,一定要是要ulimits -n修改操作系统对进程最大文件数的限制。但是实际操作发现,这样更改只能在当次用户的当次shell会话中起作用,并不是永久的。

那如何设置“进程最大可打开文件数”,并且永久有效?

这里有两步操作!

①更改操作系统“进程最大可打开文件数”的设置

首先,获取操作系统的root权限,然后修改limits.conf主配置文件:

vim /etc/security/limits.conf

在主配置文件的最后加入下面两句:

* soft nofile 65535* hard nofile 65535

soft:表示软件级别限制的最大可打开文件数的限制;hard:表示操作系统级别限制的最大可打开文件数的限制;*:表示所有用户都生效

保存这个文件后,配置是不会马上生效的,为了保证本次shell会话中的配置马上生效,我们需要通过ulimit命令更改本次的shell会话设置(或重启Linux操作系统):

ulimit -n 65535

②更改Nginx软件“进程最大可打开文件数”的设置

以上操作,更改的只是操作系统级别的“进程最大可打开文件”的限制。对Nginx来说,还要对这个软件进行更改。打开nginx.conf主配置文件,配置worker_rlimit_nofile属性,如下:

worker_rlimit_nofile 65535;events {worker_connections 65535;}

在生产环境下,我们一定要确保Nginx工作进程的配置信息是经过了优化设置的,否则,Nginx对并发请求的处理能力会大打折扣。

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

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

相关文章

如何在 C# 中使用 Attribute

译文链接:https://www.infoworld.com/article/3006630/how-to-work-with-attributes-in-c.html?nsdrtrueAttribute 在 C# 中是一个非常强大的特性,它能够给你的程序集添加元数据信息。Attribute 实际上是一个对象,它可以与以下元素中的任何一…

readyread信号不触发_触发器型PFD与传统型PFD性能仿真对比

TOC 鉴频鉴相器中为了保证鉴相范围,主要有两种PFD可以在理想情况下实现 到 的鉴相范围。 传统的PFD和边沿触发型的PFD1.电路结构1.1传统型电路结构参考文献:宽带CMOS分数频率合成器的研究与实现——黄福青 东南大学博士论文 1.2 触发器型电路…

算法设计与分析——分治与递归——整数划分问题

将正整数n表示为一系列正整数之和, nn1n2n3n4......nk (其中,n1>n2>n3>n4........>nk>0,k>1)正整数n的这种表示成为正整数n的划分。正整数n的不同划分个数成为正整数n的划分数,记作p(n…

跟我一起学Redis之Redis持久化必知必会

前言Redis是出了名的速度快,那是因为在内存中进行数据存储和操作;如果仅仅是在内存中进行数据存储,那就会导致以下问题:•数据随进程退出而消失:当服务器断电或Redis Server进程退出时,内存肯定随之释放&am…

算法设计与分析——分支限界法——装载问题

有一批共个集装箱要装上2艘载重量分别为C1和C2的轮船,其中集装箱i的重量为Wi,且装载问题要求确定是否有一个合理的装载方案可将这个集装箱装上这2艘轮船。如果有,找出一种装载方案。 容易证明:如果一个给定装载问题有解&#xff…

BootstrapBlazor 之王者组件 Table

强大的表格组件Gitee 开源地址为:https://gitee.com/LongbowEnterprise/BootstrapBlazorGithub 开源地址为:https://github.com/ArgoZhang/BootstrapBlazor在线演示网站:https://www.blazor.zone1、前言 Table(表格)组…

数据结构——最大堆最小堆

定义: 最大堆和最小堆都是一棵完全二叉树。 最大堆:是指根节点的关键字值是堆中的最大关键字值,且每个节点若有儿子节点,其关键字值都不小于其儿子节点的关键字值。 最小堆:是指根节点的关键字值是堆中的最小关键字值…

EntityFramework Core 健康检查

【导读】.NET Core提供对应方法可进行健康检查,那么在EF Core中是否也提供了相应的方式呢?EF Core 2.2(包含2.2)版本提供了针对上下文的健康检查,接下来我们直接利用.NET 5.0版本进行演示EntityFramework Core 5.0健康…

算法设计与分析——分支限界法——布线问题

印刷电路板将布线区域划分成nm个方格如图a所示。精确的电路布线问题要求确定连接方格a的中点到方格b的中点的最短布线方案。在布线时,电路只能沿直线或直角布线,如图b所示。为了避免线路相交,已布了线的方格做了封锁标记,其它线路…

我是如何把 Java 项目移植到 .NET 5.0 的

伴随着 IP 位置库 的上线,笔者的“童年梦想”又成真了一个。为了分发这份来之不易的数据库,笔者找到了 ip2region 项目。该项目提供了一种体积小且查询速度极快的离线IP位置数据库文件格式,同时提供了多种语言支持的查询客户端。但 ip2region…

qt制作一个画板_如何直接用Sketch制作动画|Sketch插件|

本期的sketch插件来为大家讲解如何制作动画,看来看看马克笔设计留学的MUzi老师的教程吧!安装1.下载并解压 Anima Tookit.ziphttps://timeline.animaapp.com/2.双击 Anima Tookit.sketchplugin 完成安装使用1.执行 Plugins > Anima Tookit > Show/H…

算法设计与分析——动态规划——最大字段和问题

动态规划解决问题是自底向上。原问题的规模是n个元 素。这n个元素不好考虑,我们先考虑n-1个元素,这样还不好考 虑,我们考虑n-2个元素,这样依次递减,最后问题规模变成一个 元素。但是我们发现,在递减的过程中…

如何在 Asp.Net Core 中 管理敏感数据

译文链接:https://www.infoworld.com/article/3576292/how-to-work-with-user-secrets-in-asp-net-core.html在应用程序开发时,你肯定会有一些特别需要保护的数据,这些数据通常是非常机密的,敏感的,禁止和别人共享&…

C#开源项目:SiMay远程控制管理系统

C#开源项目:SiMay远程控制管理系统Gitee仓库截图下方基于原项目仓库readme系统介绍SiMay远程控制管理系统是一个Windows远程控制系统,底层基于IOCP的异步通信模型,能对海量客户端实时监控,目前功能已实现:逐行扫描远程…

算法设计与分析——回溯法——01背包问题

//0-1背包问题 回溯法求解 #include<bits/stdc.h> #include <iostream>using namespace std; template<class Typew,class Typep> class Knap {public:Typep Bound(int i);void Backtrack(int i);Typew c; //背包容量int n; //物品数Typew *w; //物品重量数…

排列组合思维导图_排列组合——排列数专题

在上篇关于排列组合主要考点的介绍中&#xff0c;正男老师提到&#xff1a;排列组合考点通常可以拆分为排列数考点和组合数考点。排列数考点相关试题可以细分为2类&#xff0c;分别为&#xff1a;穷举问题和限制条件问题。本期正男老师就从近六年内的5道涉及排列数考点的真题入…

高级的说服,从不讲道理

大家好&#xff0c;我是Z哥。你会发现有一些人&#xff0c;他们好像说话从来都没有说服过别人&#xff0c;天天被别人牵着鼻子走。但有些人一说的话你就觉得特别对&#xff0c;就应该按照他说的办。很明显&#xff0c;我们都希望自己是后者。能不能说服人&#xff0c;不管在生活…

算法设计与分析——分支限界法——n皇后问题

一、问题描述 问题描述&#xff1a;在nn格的棋盘上放置彼此不受攻击的n个皇后。按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n皇后问题等价于在n*n的棋盘上放置n个皇后&#xff0c;任何2个皇后不放在同一行或同一列或同一斜线上。 …

IdentityServer4系列 | 授权码模式

一、前言在上一篇关于简化模式中&#xff0c;通过客户端以浏览器的形式请求「IdentityServer」服务获取访问令牌&#xff0c;从而请求获取受保护的资源&#xff0c;但由于token携带在url中&#xff0c;安全性方面不能保证。因此&#xff0c;我们可以考虑通过其他方式来解决这个…

算法设计与分析——算法思想总结

算法设计与分析 1、分治法 分治法的基本思想是将一个规模为n的问题分解为k个规模较小的子问题&#xff0c;这些子问题相互独立且与原问题相同。递归的解这些子问题&#xff0c;然后将各子问题的解合并得到原问题的解。 分治法所能解决的问题一般具有以下几个特征&#xff1a…