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 小时前
Linux:显示 -bash-4.2$ 问题(CentOS 7)
linux·运维·服务器·centos·bash
Code哈哈笑2 小时前
Idea连接远程云服务器上的MySQL,开放云服务器端口
服务器·后端·mysql·spring
阳光普照世界和平5 小时前
网络安全与信息安全防护措施
网络·安全
学不完的5 小时前
ospf综合实验
网络·智能路由器
-曾牛5 小时前
Git完全指南:从入门到精通版本控制 ------- Git仓库创建 (5)
大数据·网络·git·学习·elasticsearch·个人开发
vvilkim5 小时前
深入解析TCP Keep-Alive机制:原理、作用与最佳实践
网络·网络协议·tcp/ip
维C泡泡6 小时前
网络编程 套接字
网络
耕耘虫7 小时前
解决 .Net 6.0 项目发布到IIS报错:HTTP Error 500.30
网络·网络协议·http·iis·net·静态文件·.net 6.0
怀旧,8 小时前
【数据结构】4.单链表实现通讯录
android·服务器·数据结构
鸡鸭扣8 小时前
系统设计面试总结:高性能相关:CDN(内容分发网络)、什么是静态资源、负载均衡(Nginx)、canal、主从复制
网络·面试·负载均衡