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

防盗链

大部分:

相关推荐
正在走向自律1 小时前
阿里云ESC服务器一次性全部迁移到另一个ESC
服务器·阿里云·云计算
gywl2 小时前
openEuler VM虚拟机操作(期末考试)
linux·服务器·网络·windows·http·centos
WTT00112 小时前
2024楚慧杯WP
大数据·运维·网络·安全·web安全·ctf
苹果醋32 小时前
React源码02 - 基础知识 React API 一览
java·运维·spring boot·mysql·nginx
了一li3 小时前
Qt中的QProcess与Boost.Interprocess:实现多进程编程
服务器·数据库·qt
杨德杰3 小时前
QT网络(一):主机信息查询
网络·qt
日记跟新中3 小时前
Ubuntu20.04 修改root密码
linux·运维·服务器
唐小旭3 小时前
服务器建立-错误:pyenv环境建立后python版本不对
运维·服务器·python
明 庭3 小时前
Ubuntu下通过Docker部署NGINX服务器
服务器·ubuntu·docker