nginx常见的优化配置

Nginx常见的优化配置

1、调整worker_processes

指Nginx要生成的worker数量,最佳实践是每个CPU运行1个工作进程。

bash 复制代码
grep processor /proc/cpuinfo | wc -l

2、最大化worker_connections

Nginx Web服务器可以同时提供服务的客户端数。与worker_processes结合使用时,获得每秒可以服务的最大客户端数

最大客户端数/秒=工作进程*工作者连接数

为了最大化Nginx的全部潜力,应将工作者连接设置为核心一次可以运行的允许的最大进程数1024

3、启用Gzip压缩

压缩文件大小,减少了客户端http的传输带宽,因此提高了页面加载速度

bash 复制代码
gzip            on;
gzip_min_length 1000;
gzip_proxied    expired no-cache no-store private auth;
gzip_types      text/plain application/xml;

4、为静态文件启用缓存

为静态文件启用缓存,以减少带宽并提高性能,可以添加下面的命令,限定计算机缓存网页的静态文件:

bash 复制代码
location ~* .(jpg|jpeg|png|gif|ico|css|js)$ {

expires 365d;

}

5、限制最大连接数

在http模块内server模块外配置limit_conn_zone,配置连接的IP,在http,server或location模块配置limit_conn,能配置IP的最大连接数。

bash 复制代码
limit_conn_zone $binary_remote_addr zone=addr:5m;
limit_conn addr 1;

6、禁止非法的HTTP User Agents

User Agent是HTTP协议中对浏览器的一种标识,禁止非法的User Agent可以阻止爬虫和扫描器的一些请求,防止这些请求大量消耗Nginx服务器资源。

为了更好的维护,最好创建一个文件,包含不期望的user agent列表例如/etc/nginx/blockuseragents.rules包含如下内容

bash 复制代码
map $http_user_agent $blockedagent {
    default 0;
    ~*malicious 1;
    ~*bot 1;
    ~*backdoor 1;
    ~*crawler 1;
    ~*bandit 1;
}

#将以下语句放到配置文件模板server内
include /etc/nginx/blockuseragents.rules;

7、禁掉不需要的 HTTP 方法

一些web站点和应用,可以只支持GET、POST和HEAD方法。在配置文件中的 serve r模块加入如下方法可以阻止一些欺骗攻击

bash 复制代码
if ($request_method !~ ^(GET|HEAD|POST)$) {
    return 444;
}
相关推荐
可可嘻嘻大老虎3 小时前
nginx无法访问后端服务问题
运维·nginx
阳光九叶草LXGZXJ4 小时前
达梦数据库-学习-47-DmDrs控制台命令(LSN、启停、装载)
linux·运维·数据库·sql·学习
无忧智库4 小时前
某市“十五五“地下综合管廊智能化运维管理平台建设全案解析:从数字孪生到信创适配的深度实践(WORD)
运维·智慧城市
珠海西格5 小时前
“主动预防” vs “事后补救”:分布式光伏防逆流技术的代际革命,西格电力给出标准答案
大数据·运维·服务器·分布式·云计算·能源
阿波罗尼亚5 小时前
Kubectl 命令记录
linux·运维·服务器
IDC02_FEIYA6 小时前
Linux文件搜索命令有哪些?Linux常用命令之文件搜索命令find详解
linux·运维·服务器
犀思云6 小时前
如何通过网络即服务平台实现企业数字化转型?
运维·网络·人工智能·系统架构·机器人
江畔何人初6 小时前
kubectl apply与kubectl create的区别
linux·运维·云原生
M158227690556 小时前
四通道全能组网!SG-Canet-410 CAN转以太网网关,破解工业CAN通信瓶颈
linux·运维·服务器
浪客灿心7 小时前
Linux库制作与原理
linux·运维·服务器