云计算大数据——Nginx 实战系列(性能优化与防盗链配置)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

Nginx 作为高性能的 HTTP 服务器与反向代理服务器,是支撑各类 Web 服务的核心基础设施,其配置的合理性直接决定服务的运行效率、资源成本与安全性。在生产环境中,仅依赖默认配置无法满足业务需求:高并发场景下易出现响应延迟、资源耗尽等问题,而静态资源(图片、视频、CSS/JS 等)又面临被外部网站非法盗用的风险,不仅造成带宽浪费,还会挤占服务器资源、影响合法用户体验。因此,针对 Nginx 开展性能优化与防盗链配置,是兼顾 "服务效率" 与 "资源保护" 的核心举措 ------ 性能优化旨在最大化服务器硬件潜力,提升并发承载能力、降低响应延迟;防盗链配置则通过精准的访问控制,阻断资源盗用、减少无效损耗,两者协同发力,才能实现 Web 服务 "高效、稳定、低成本、高安全" 的运行目标。

一、隐藏版本号

防止攻击者利用特定版本的已知漏洞进行攻击

1.1 查看当前版本号

css 复制代码
curl -I http://192.168.10.123

1.2 方法一:修改配置文件

css 复制代码
vim /usr/local/nginx/conf/nginx.conf

1.3 方法二:修改源码并重编译

css 复制代码
vim /opt/nginx-1.20.2/src/core/nginx.h

重新配置并编译:

css 复制代码
cd /opt/nginx-1.20.2/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module \
--with-http_ssl_module
make

手动替换二进制文件:

二、修改用户与组

2.1 配置用户与组


三、缓存时间设置

3.1 配置缓存时间

四、日志切割

优化日志分割策略,便于日常分析和文件大小管理,防止日志文件过大。

4.1 日志切割脚本


五、连接超时设置

keepalive_timeout 65 180; # 保持连接的超时时间,空闲连接65秒后关闭,建议客户端超时180秒

client_header_timeout 80; # 客户端发送请求头超时时间

client_body_timeout 80; # 客户端发送请求体超时时间

5.1 配置连接超时参数

六、更改进程数

6.1 优化进程数与 CPU 亲和性

七、配置网页压缩

7.1 启用 Gzip 压缩

css 复制代码
vim /usr/local/nginx/conf/nginx.conf
http {
...... 
   gzip on;							#取消注释,开启gzip压缩功能
   gzip_min_length 1k;      		#最小压缩文件大小
   gzip_buffers 4 64k;      		#压缩缓冲区,大小为4个64k缓冲区
   gzip_http_version 1.1;   		#压缩版本(默认1.1,前端如果是squid2.5请使用1.0)
   gzip_comp_level 6;       		#压缩比率      1:压缩比最小,速度最快;9:压缩比最大,传输速度最快,但处理也最慢,也比较的消耗CPU资源 
   gzip_vary on;					#支持前端缓存服务器存储压缩页面
   gzip_types text/plain text/javascript application/x-javascript text/css text/xml application/xml application/xml+rss image/jpg image/jpeg image/png image/gif application/x-httpd-php application/javascript application/json;		#压缩类型,表示哪些网页文档启用压缩功能
...... 
}
css 复制代码
cd /usr/local/nginx/html
先将game.jpg文件传到/usr/local/nginx/html目录下
vim index.html
...... 
<html>
<body>
<img src="game.jpg"/>				#网页中插入图片
</body>
</html>

八、配置防盗链

8.1 防盗链配置示例

css 复制代码
vim /usr/local/nginx/conf/nginx.conf
http {
......
	server {
	......
		location ~* \.(jpg|gif|swf)$ {
			valid_referers none blocked *.yjs.com yjs.com;
			if ( $invalid_referer ) {
				# 将请求路径为 ^/(^/会匹配 ​所有请求路径​​)的URL重定向到 http://www.yjs.com/error.png
				rewrite ^/ http://www.yjs.com/error.png;
				#return 403;
            }
        } 
	......
	}
}

8.2 测试准备

css 复制代码
cd /usr/local/nginx/html
将game.jpg、error.png文件传到/usr/local/nginx/html目录下
vim index.html
<html>
<body>
<img src="game.jpg"/>
</body>
</html>

echo "192.168.10.110 www.yjs.com" >> /etc/hosts 
echo "192.168.10.123 www.simoncwh.com" >> /etc/hosts 
css 复制代码
cd /usr/local/nginx/html
vim index.html
...... 
<html>
<body>
<img src="http://www.yjs.com/game.jpg"/>
</body>
</html>

echo "192.168.10.110 www.yjs.com" >> /etc/hosts 
echo "192.168.10.123 www.simoncwh.com" >> /etc/hosts 

九、总结

~* .(jpg|gif|swf)$:匹配不区分大小写,以.jpg、.gif或.swf结尾的文件

valid_referers:配置可信来源网站,允许其正常访问图片资源

访问控制规则:

none:允许不带Referer字段的请求

blocked:允许非http://开头的,不带协议的请求访问资源

*.yjs.com:仅允许来自该域及其子域的请求

优先级: = (精确匹配) > ^~ (前缀匹配) > ~ / ~* (正则匹配) > / (默认匹配)

用途:

精确匹配适用于需要精确控制的路径(如首页)。

前缀匹配用于处理路径较长的请求,特别是静态资源。

正则匹配用于更复杂的模式匹配,如文件类型(图片、CSS 文件等)。

规则顺序:在配置时,确保合理排列 location 规则,确保静态资源和动态请求的正确处理。

总结

Nginx 性能优化与防盗链配置是生产环境部署的两大核心优化方向,二者相辅相成、缺一不可。性能优化围绕 "提升服务能力" 展开,通过调整进程数、连接数、缓存策略、数据压缩等手段,充分释放服务器硬件潜力,有效提升并发处理能力、降低响应延迟,同时减少 CPU、内存、带宽等资源消耗,保障高流量场景下服务的稳定性与用户体验;防盗链配置则聚焦 "保护资源不被滥用",通过校验请求来源(Referer 字段、Token 等),仅允许合法域名访问静态资源,从源头阻断外部盗用行为,既节省了带宽成本、保护了资源版权,又避免无效请求挤占优化后的服务器资源,让性能优化的效果充分落地。

相关推荐
TM1Club5 小时前
AI驱动的预测:新的竞争优势
大数据·人工智能·经验分享·金融·数据分析·自动化
zhang133830890755 小时前
CG-09H 超声波风速风向传感器 加热型 ABS材质 重量轻 没有机械部件
大数据·运维·网络·人工智能·自动化
电商API_180079052476 小时前
第三方淘宝商品详情 API 全维度调用指南:从技术对接到生产落地
java·大数据·前端·数据库·人工智能·网络爬虫
Genie cloud6 小时前
1Panel SSL证书申请完整教程
服务器·网络协议·云计算·ssl
龙山云仓6 小时前
No140:AI世间故事-对话康德——先验哲学与AI理性:范畴、道德律与自主性
大数据·人工智能·深度学习·机器学习·全文检索·lucene
莫大3307 小时前
2核2G云服务器PHP8.5+MySQL9.0+Nginx(LNMP)安装WordPress网站详细教程
运维·服务器·nginx
躺柒8 小时前
读数字时代的网络风险管理:策略、计划与执行04风险指引体系
大数据·网络·信息安全·数字化·网络管理·网络风险管理
银发控、8 小时前
nginx静态资源
运维·nginx
独自归家的兔9 小时前
从 “局部凑活“ 到 “全局最优“:AI 规划能力的技术突破与产业落地实践
大数据·人工智能
海域云-罗鹏9 小时前
国内公司与英国总部数据中心/ERP系统互连,SD-WAN专线实操指南
大数据·数据库·人工智能