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;
}
相关推荐
谢平康9 分钟前
解决用 rm 报bash: /usr/bin/rm: Argument list too long错
linux·运维·运维开发
IP老炮不瞎唠17 分钟前
Python 价格监控如何实现?思路与实用方法分享
运维·服务器·网络
GIS数据转换器20 分钟前
城市排水生命线安全运行监测平台深度解析
java·运维·人工智能·python·安全·数据挖掘·无人机
Tokai_Teio_11 小时前
第四届黄河流域 misc
运维·服务器
hj2862512 小时前
Linux 网络服务综合笔记(概念 + 命令 + 实操案例)2
linux·运维·网络
what_20182 小时前
Linux 磁盘 (查看、划分、inode)
linux·运维·服务器
ManageEngine卓豪2 小时前
从性能故障到安全风险,现代企业数字化转型下的网络丢包运维管控指南
运维·网络安全·网络故障·网络丢包
Urbano3 小时前
工装 T 恤、Polo 衫全生产工序、痛点解析及多品牌自动化设备应用方案
运维·自动化
阿豪啊3 小时前
记一次 Nginx 跨域配置踩坑与优化:从嵌套 If 报错到 Map 指令最佳实践
nginx
AOwhisky3 小时前
Redis 学习笔记(第一期):概述、安装配置与核心理论
运维·数据库·redis·笔记·学习·云计算