nginx常用配置/负载均衡/访问控制

本文详细讲解了如何指定Nginx运行身份、优化性能(调整worker进程数量,绑定CPU,控制连接数),平滑升级与回退,以及负载均衡策略(轮询、权重、ip_hash和cookie)。还涉及资源访问控制、缓存配置、中文乱码处理和日志管理等关键知识点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.指定nginx 的运行身份

在这里插入图片描述查看nginx的worker运行身份为nobody ,需要为其添加指定用户

useradd -d /usr/local/nginx -M -s /sbin/nologin nginx

修改nginx的配置文件,指定运行身份

vim /usr/local/nginx/conf/nginx.conf

在这里插入图片描述
重载nginx后查看worker的运行身份
在这里插入图片描述

2.优化性能相关的配置

worker进程的数量

worker进程的数量,通常应该为当前主机的cpu的物理核心数,查看当前主机的核心数量lscpu
在这里插入图片描述
修改配置文件中的worker数量为自动获取

vim /usr/local/nginx/conf/nginx.conf

在这里插入图片描述
重载nginx后查看worker运行数量,发现数量cpu数量一致了。
在这里插入图片描述

worker 进程绑定到指定cpu

将worker进程绑定到指定cpu上,可以提高缓存命中率

worker_cpu_affinity 0001 0010 0100 1000; 分别将worker进程绑定到1,2,3,4号CPU上

编辑配置文件

vim /usr/local/nginx/conf/nginx.conf

在这里插入图片描述

控制nginx的最大连接数

单个进程允许的最大连接数需要根据服务器性能和内存使用量作相应的调整。进程的最大连接数又受到linux系统进程的最大打开文件数限制。所以nginx的最大总并发连接数=worker 数量 * 单个进程最大连接数

修改连接数

vim /usr/local/nginx/conf/nginx.conf

在这里插入图片描述
再修改linux系统所限制的最大连接数,数量一般应大于所申请数。

vim /etc/security/limits.conf

在这里插入图片描述

一个应用程序能开启的最大连接数是受到限制的,内核限制>系统限制>应用软件限制。
查看内科支持的最大文件打开数
sysctl -a | grep file
查看系统支持的最大文件打开数
ulimit -a

3.nginx 平滑升级

nginx 方便地帮助我们实现了平滑升级。其原理简单概括,就是:
(1)在不停掉老进程的情况下,启动新进程。
(2)老进程负责处理仍然没有处理完的请求,但不再接受处理请求。
(3)新进程接受新请求。
(4)老进程处理完所有请求,关闭所有连接后,停止。

下载新版本 nginx,解压, 准备进行源码编译,
[root@server1 ~]# tar zxf nginx-1.21.1.tar.gz
[root@server1 ~]# cd nginx-1.21.1/auto
[root@server1 auto]# vim cc/gcc ##轻量化编译,注释掉debug
在这里插入图片描述
进行预编译和正式编译,原有的参数不能少,假如想添加其他新模块,,直接在后面添加相关配置参数即可。只编译,不安装,

[root@server1 nginx-1.21.1]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
[root@server1 nginx-1.21.1]# make

备份原nginx二进制文件,期间nginx不会停止服

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值