Linux---Nginx优化与防盗链

文章目录

一、更改Nginx版本号

隐藏 Nginx 版本号的核心目的是降低服务器安全风险、符合合规要求、减少定向攻击概率,是服务器安全防护中 "最小信息暴露" 原则的基础操作,有两种方法隐藏版本号

1.1隐藏版本号

添加server_tokens off;关闭版本号

1.2 修改配置文件方式

把原来版本1.20.2改成1.80.2

#重启服务

systemctl reload nginx 一定要重启

#测试

curl -I http://192.168.10.2

二、修改用户与组

修改/usr/local/nginx/conf/nginx.conf,修改用户为 nginx ,组为nginx。

重启服务,查看nginx进程。

ps aux |grep nginx

三 、缓存时间

当Nginx将网页数据返回给客户端后,可设置缓存的时间,以便在日后进行相同内容的请求时直接返回,加快了访问速度。一般针对静态网页设置,对动态网页不设置缓存时间。

vim /usr/local/nginx/conf/nginx.conf

bash 复制代码
http {
......
server {
......
location / {
root html;
index index.html index.htm;
}
location ~ \.(gif|jpg|jepg|png|bmp|ico)$ { #加入新的 location,以图片作
为缓存对象
root html;
expires 1d; #指定缓存时间,1天
}
......
}
}

在浏览器中访问192.168.10.2/qq.png,在设置里,找到网络点击,找到Cahce-Control:max-age=86400 表示缓存时间是 86400 秒。也就是缓存一天的时间,一天之内浏览器访问这个页面,都是用缓存中的数据,而不需要向Nginx 服务器重新发出请求,减少了服务器的使用带宽。

#重启服务

systemctl restart nginx

四、日志切割

在 Linux 中进行日志切割主要是为了解决以下核心问题:

  • 避免日志文件过大
  • 便于日志管理与归档
  • 降低服务风险
    例:删除30天之前的日志文件
bash 复制代码
#!/bin/bash
# Filename: fenge.sh
day=$(date -d "-1 day" "+%Y%m%d") #显示
前一天的时间
logs_path="/var/log/nginx"
pid_path="/usr/local/nginx/logs/nginx.pid"
[ -d $logs_path ] || mkdir -p $logs_path #创建
日志文件目录
mv /usr/local/nginx/logs/access.log ${logs_path}/yjs.com-access.log-$day #移动
并重命名日志文件
kill -USR1 $(cat $pid_path) #重建
新日志文件
find $logs_path -mtime +30 -exec rm -rf {} \; #删除
30天之前的日志文件

五、连接超时

5.1 KeepAlive 机制的核心逻辑

功能:KeepAlive 是 HTTP/TCP 层面的一种连接复用机制,核心是让通信双方在完成一次请求 / 响应后,保持 TCP 连接不立即关闭,以便后续请求可直接复用该连接,无需重新建立 TCP 连接(避免重复的三次握手开销)。

bash 复制代码
#第一个值(65):服务器端的闲置连接超时时间 --- 若连接在 65 秒内无新请求,服务器会主动关闭该连接。
#第二个值(180):实际连接的关闭由服务器的第一个值65(服务器端闲置超时)决定 ------ 即使客户端按 180 秒保留连接,若 65 秒内无新请求,服务器也会主动关闭连接。
keepalive_timeout 65 180;
bash 复制代码
#客户端向服务端发送一个完整的 request header(请求头) 的超时时间。如果客户端在指定时间内没有发送一个完整的 request header,Nginx 返回 HTTP 408(Request Timed Out)。
client_header_timeout 80; 
bash 复制代码
#指定客户端与服务端建立连接后发送 请求体(request body)的超时时间。如果客户端在指定时间内没有发送任何内容,Nginx 返回 HTTP 408(Request Timed Out)。
client_body_timeout 80; 

六 更改进程数

#查看cpu核数

#查看nginx主进程包含几个子进程

七 配置网页压缩

网页压缩的作用:配置网页压缩(通常指 HTTP 压缩,如 Gzip、Brotli)的核心作用是优化网络传输效率与用户体验,具体包括:

  • 减少传输数据体积
  • 提升网页加载速度
  • 降低服务器负载
  • 优化用户体验与有助于搜索引擎优化

八 配置防盗链

如果是网站调用服务器的资源,将会被阻止。

本文配置测试看看效果。

1、服务器规划

源主机:

1、ip:192.168.10.101

2、安装nginx

3、域名映射:echo "192.168.10.101 www.benet.com" >> /etc/hosts

盗链主机:

1、ip:192.168.10.102

2、安装nginx

3、域名映射

echo "192.168.10.101 www.benet.com" >> /etc/hosts

echo "192.168.10.102 www.yjs.com" >> /etc/hosts

2、源主机配置

bash 复制代码
----------------配置防盗链-------------------
vim /usr/local/nginx/conf/nginx.conf
http {
......
server {
......
location ~* \.(jpg|gif|swf)$ {
valid_referers none blocked *.benet.com benet.com; 匹配
if ( $invalid_referer ) {
rewrite ^/ http://www.benet.com/error.png;
}
}
......
}
}

3、盗链主机配置

cd /usr/local/nginx/html

vim index.html

bash 复制代码
<html>
<body>
<img src="http://www.benet.com/game.jpg"/>
</body>
</html>

3、测试

在盗图网站主机上进行浏览器验证

http://www.yjs.com

看是否被阻止

总结

本文系统梳理 Nginx 核心配置实操,从安全防护到性能调优,结合日志切割、防盗链等实战案例,提供可直接落地的生产环境优化方案,实用性强。

相关推荐
渡我白衣11 小时前
计算机组成原理(8):各种码的作用详解
c++·人工智能·深度学习·神经网络·其他·机器学习
DELOK ULTRASONIC1 天前
德诺超声波焊接机供应与维修服务全面解析
其他
爱搜索人工智能1 天前
2025年GEO优化源头供应链实践测评:爱搜索人工智能引领行业新标准
其他
t057771 天前
解锁城市骑行美学!VELO ANGEL TT坐垫适配自在漫游
其他
zuqiu_1232 天前
足球赛事比分分析软件助手攻略
其他
JiNan.YouQuan.Soft2 天前
使用SAT编译SALOME
其他
爱搜索人工智能2 天前
2025年GEO优化领域横向评测:爱搜索人工智能位列第一
其他
水质在线监测仪厂家_慕迪科技2 天前
T8000B硼在线分析仪在污水处理厂中如何应用?
其他
爱搜索人工智能2 天前
2025年GEO优化领域横向评测报告:爱搜索人工智能领先表现解析
其他
t057773 天前
致同提示:2025年11月技术快讯
其他