nginx的优化和防盗链

nginx的优化

1、隐藏版本号

bug多,更新版本速度块,一旦版本号暴露出去,有可能给对方提供攻击的漏洞。

法一隐藏:【在http大模块中修改,不在server中,也不是location】

cd /usr/local/nginx/

ls

cd conf/

ls

vim /nginx.conf/

server_tokens off;

:wq!

nginx -t

systemctl restart nginx

法二隐藏:【修改源码文件,重新编译安装】

在源码包里修改配置文件

修改完之后重新配置,编译安装

隐藏版本号打开

cd /opt/

ls

cd nginx-1.22.0/

ls

cd src/

ls

cd core/

ls

vim nginx.h

(13、14行进行修改,内容随意)

:wq!

cd ..

ls

cd /usr/local/nginx/conf/

ls

vim nginx.conf

server_tokens on;

:wq!

systemctl restart nginx

2、nginx日志分割

nginx没有自带的日志分割功能,靠人工通过脚本实现日志分割

vim nginxlog.sh

3、网页压缩

http_gzip_static_module 可以对文件内容和图片进行压缩的功能,节约宽带,提升用户的访问速度

vim nginx.conf

4、设置nginx的图片缓存时间

可以在日后访问时,不需要经常向后台请求数据,加快访问速度

一般是针对静态页面,动态不设置

5、连接超时

一般设置60-120s

body,不是boby

6、nginx的并发设置

在高并发的场景下,需要nginx启动更多的进程来保证快速响应

CPU 根据CPU的核心数调整工作进程

一般是CPU核数的一半【上限最多8个,大于8个不会对性能有所提升,甚至会降低稳定性】【一般四个】

查看CPU核数

或者

Q:

A:

8个以上性能降低:

面试:把进程绑定到CPU上

A:

面试:time_wait大量出现,该如何优化?

答:改内核文件

ime_wait是tcp连接状态中的一种,不是报错。出现在四次挥手之后

在time_wait状态下,tcp处于连接等待状态,等待有一个持续时间,http1.1的会话保持

1、确保可靠的关闭连接

2、避免连接复用

他在连接正常关闭之,一段时间之后会自动消失,而且占用的资源很少,对服务器性能的影响有限

nginx的内置变量:打印结果

$remote_addr 客户端的IP地址

&remote_port 显示客户端的端口号

$uri 显示请求的URI

$host 显示请求的主机名

$request_method 显示请求的方法

重要的变量配置

peoxy_set_header X-Forward $remote_addr

代理服务器设置这个变量,客户端的真实IP要发送给后端,否则代理服务器的地址会被拉入黑名单

proxy_set_header X-Real-IP 4remote_addr

客户端的真实IP,发送给后端,现在所有的网站都会要求客户端在请求时加上真实IP

防盗链

大部分:

相关推荐
荣光波比30 分钟前
Nginx 实战系列(七)—— Nginx一键安装脚本详解
运维·nginx·自动化·云计算
努力学习的小廉40 分钟前
深入了解linux系统—— 线程同步
linux·服务器·数据库·算法
sinat_602035361 小时前
模块与包的导入
运维·服务器·开发语言·python
鲸屿1951 小时前
Ansible之playbook
服务器·网络·ansible
网硕互联的小客服1 小时前
408 Request Timeout:请求超时,服务器等待客户端发送请求的时间过长。
运维·服务器
王伯安呢1 小时前
告别线缆束缚!AirDroid Cast 多端投屏,让分享更自由
运维·服务器·教程·投屏·airdroid cast·多端互投
逍遥浪子~1 小时前
搭建本地gitea服务器
运维·服务器·gitea
喜欢你,还有大家1 小时前
FTP文件传输服务
linux·运维·服务器·前端
绝世剑仙纪宁2 小时前
TCP 三次握手、四次挥手
网络·网络协议·tcp/ip
胡耀超2 小时前
3.Python高级数据结构与文本处理
服务器·数据结构·人工智能·windows·python·大模型