文章目录
前言
本文系统梳理了 Nginx 常见的性能优化方法与防盗链配置步骤,涵盖隐藏版本号、调整用户与组、设置缓存时间、日志切割、超时设置、进程调优、网页压缩以及防盗链策略等多个方面,适用于生产环境中的 Nginx 服务调优与安全加固。
一、隐藏版本号
1.1 方法一
第一步 vi /usr/local/nginx/conf/nginx.conf——————————编辑nginx配置文件
在配置文件中加入 server_tokens off;

第二步 打开浏览器,搜索ip或域名之后,打开开发工具(按F12)
可以看到nginx的版本没有显示了

1.2 方法二
第一步 编辑 vim /opt/nginx-1.20.2/src/core/nginx.h
在文件中修改nginx版本与服务器名称
(注意:这里的修改版本只是修改外表,实际还是原本的版本)
#define NGINX_VERSION “3208” ————————想修改的版本号
#define NGINX_VER “IIs” NGINX_VERSION ————————修改服务器类型

第二步 进行编译安装
在原版本下的目录中输入
./configure
–prefix=/usr/local/nginx \
–user=nginx
–group=nginx
–with-http_stub_status_module
输入make

第三步 替换为新编译的版本文件
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_old —————备份旧版本
cp objs/nginx /usr/local/nginx/sbin/nginx ————————替换为新编译的版本文件
(换完之后就完成了)
可以先输入nginx -t ————————查看nginx配置是否有问题
重启nginx服务 ——————systemctl restart nginx
没问题再输入nginx -V ————————查看当前nginx的版本

第四步 进入浏览器中的网页,打开开发工具
可以看到nginx的版本变为自己随意更改的

二、缓存时间
2.1
概念:缓存时间讲的是当Nginx将网页数据返回给客户端后,可以保存的时间,在缓存时间内时,可以省略三次握手这一请求连接的过程,避免重复请求,节省时间。
2.2 更改缓存时间

第一步 编辑nginx配置文件(在编辑配置文件之前一定要做备份)
找到图片显示的部分,编辑缓存时间(这里改为10天)

第二步 重启服务
(保存退出之后,一定要重启服务,并查看nginx配置文件是否有问题)
systemctl restart nginx ———————————重启服务
nginx -t ——————————查看nginx配置是否有问题
第三步 打开浏览器开发工具进行检验

三、日志切割
第一步 创建日志文件 mkdir /opt/log.fg.sh

第二步 编辑日志文件 vim /opt/log.fg.sh
写下脚本
#!/bin/bash
day=$ (date -d “-1 day” “+%Y%m%d”) —————查看前一天的时间(包括年月日)
logs_path=“/var/log/nginx” ————————定义logs_path变量
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) ———————— 给这个PID进程发送信号
find $logs_path -mtime +30 -exec rm -rf {} ; ——————删除30天之前的所有日志文件

第三步 给与脚本文件执行权限并启动脚本文件
chmod +x /opt/log.fg.sh ——————给与脚本文件执行权限

sh /opt/log.fg.sh ————————执行脚本文件

第四步 给定任务(每小时执行一次脚本文件)
crontab -e ——————编辑任务

这里表示每月每周的每天的每个小时的0分钟(也就是每个小时)
crontab -l ——————查看任务列表

四、连接超时
4.1 作用与概念
HTTP有一个KeepAlive模式,它告诉web服务器在处理完一个请求后保持这个TCP连接的打开状态。若接收到来自同一客户端的其它请求,服务端会利用这个未被关闭的连接,而不需要再建立一个连接。
KeepAlive 在一段时间内保持打开状态,它们会在这段时间内占用资源。占用过多就会影响性能。
4.2 连接超时操作
第一步 编辑nginx配置文件
在http中加上
keepalive_timeout 65 180; ———————————三次握手的超时时间
(其中第一个值为每个TCP连接最多可以保持多长时间,服务器将会在这个时间
后关闭连接。)
(第二个值为Nginx 自身对长连接的最大保留时间)
client_header_timeout 80; ————————等待客户端发送请求头的超时时间会送408 错误
client_body_timeout 80;——————————设置客户端发送请求体的超时时间

第二步 编辑完成之后要重启服务并且查看配置文件是否有问题

五、更改进程数
5.1 更改进程数的意义
当访问、请求的人数达到一定数量时,一个进程明显不够满足需求,并且会导致服务器回应速度变慢,若要解决此问题则要增加进程数,提高回复速度,避免堵塞。
5.2 更改进程数的操作
第一步 在操作之前可以先看看自己的cpu内核数和进程数
cat /proc/cpuinfo | grep -c “physical id” ——————查看cpu内核数量

ps aux | grep nginx ——————查看nginx进程

第二步 修改进程数(建议修改为内核数或内核数的两倍)
vim /usr/local/nginx/conf/nginx.conf

(进程数配为4时0001 0010 0100 1000 也可以写为 01 10 100 1000)
第三步 重启服务

第四步 查看nginx进程数
ps aux | grep nginx
可以看到有两个子进程(工作进程)

六、配置网页压缩
作用:允许Nginx服务器将输出内容在发送客户端之前进行压缩,以节约网站带宽,提升用户的访问体验,默认已经安装,可在配置文件中加入相应的压缩功能参数对压缩性能进行优化
第一步 修改nginx配置文件(在文件中加入)
gzip on; ——————取消注释,开启gzip压缩功能
gzip_min_length 1k; ————————最小压缩文件大小
gzip_buffers 4 64k; ——————————压缩缓冲区,大小为4个64k缓冲区(一般是4 16)
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;————————压缩类型,表示哪些网页文档启用压缩功能

第二步 重启服务

第三步 打开浏览器中的开发工具

七、配置防盗链
采用对比方法进行验证,防盗链的配置作用
7.1 正规网站配置
第一步 将要被盗取的图片与错误图片放入 /usr/local/nginx/html目录下

第二步 编辑脚本文件index.html,将图片添加进脚本文件

第三步 进行映射
vim /etc/hosts
在映射文件中加入盗窃的ip和域名以及正规的ip和域名

(xjy34为正规,xjy43为非正规)
第四步 配置防盗链
在nginx配置文件中加入
location ~* .(jpg|gif|swf|png)$ {
valid_referers none blocked *.xjy34.com xjy34.com;
if ( $invalid_referer ) {
rewrite ^/ http://www.xjy34.com/abc.png;
}

(注意格式)
7.2 配置不正规网站
第一步 编辑非正规机的脚本文件————vim /usr/local/nginx/html/index.html
vim index.html
< html>
< body>
< img src=“http://www.xjy34.com/4.jpg”/> ————————偷取xjy34的图片
< /body>
< /html>

第二步 进行映射
vim /etc/hosts

第三步 在虚拟机的火狐软件中输入 www.xjy43.com 看是否有图片


(这是出来的错误图片)
如果将防盗配置去掉

在浏览器输入 www.xjy43.com则会偷到图片

总结
本文系统梳理了 Nginx 常见的性能优化方法与防盗链配置步骤,涵盖隐藏版本号、调整用户与组、设置缓存时间、日志切割、超时设置、进程调优、网页压缩以及防盗链策略等多个方面,适用于生产环境中的 Nginx 服务调优与安全加固,希望本文能对您有所帮助,谢谢观看。
1088

被折叠的 条评论
为什么被折叠?



