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;
}
相关推荐
Lsetea25 分钟前
Nginx报SSL_CTX_use_PrivateKey failed:证书与私钥不匹配怎么排查
nginx·https·ssl证书·openssl·私钥
运维行者_37 分钟前
ISP 企业级带宽计费怎么做?网络流量计费的 6 大核心能力
运维·服务器·网络·数据库·支持向量机·接口隔离原则
数安旭说1 小时前
企业终端行为审计建设:本地审计 + 网络审计构建完整溯源取证体系
运维·数据安全·软件需求·溯源·审计·网络审计
Elastic 中国社区官方博客2 小时前
在 Elasticsearch 中回填时间序列数据:通过批量 API 加载数月的历史指标数据
大数据·运维·数据库·人工智能·elasticsearch·搜索引擎·全文检索
10mAh2 小时前
【Linux】CPU 100% 怎么排查?——top、pidstat、jstack 到线程定位实战
linux·运维·服务器
!chen2 小时前
客户环境 Nginx 配置流式报表与超时排查
运维·nginx
KIZIFLOW北泽五金3 小时前
液压系统压力损失怎么降?成因分析与减损实操方案
运维·自动化·新媒体运营·产品运营·流量运营·用户运营·内容运营
介拙3 小时前
Zabbix 7.0 从装到告警触发,我踩了这些坑
运维
爱吃提升3 小时前
VMware虚拟机迁移系统磁盘完整教程(VMware Workstation17)
linux·运维·服务器
诸葛李3 小时前
linux 配置
linux·运维·服务器