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;
}
相关推荐
todoitbo8 小时前
用虚拟局域网打通 Win/Mac/Linux 三端:跨设备协作的实用方案
linux·运维·macos
Sylvia-girl9 小时前
Linux下的基本指令1
linux·运维·服务器
CDN36010 小时前
360CDN SDK 游戏盾:轻量化接入 + 强防护实测
运维·游戏·网络安全
Stewie1213810 小时前
Docker 面试题
运维·docker·容器
星纬智联技术10 小时前
GEO E2E 自动化验证测试文章
运维·自动化·geo
jarreyer11 小时前
CentOS 7 无法使用 yum 安装软件
linux·运维·centos
脆皮的饭桶11 小时前
结合使用,实现IPVS的高可用性、利用VRRP Script 实现全能高可用
运维·服务器·网络
RisunJan12 小时前
Linux命令-md5sum(计算和校验文件报文摘要的工具程序)
linux·运维
抹茶咖啡12 小时前
IT运维的365天--042 骚操作之--用IPSec给远程桌面上把锁
运维·网络·it运维
王琦031812 小时前
第三章 linux文件类型和根目录结构
linux·运维·服务器