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

防盗链

大部分:

相关推荐
YRr YRr14 分钟前
Unix-like 系统中的文件所有权管理:使用 sudo chown -R 命令的详解与实践应用
linux·服务器·unix
世界尽头与你29 分钟前
企业内网安全
网络·安全·内网安全
沥川同学1 小时前
从零开始学习Linux(13)---多线程
linux·运维·服务器·学习·ubuntu
今天开始奋斗吧2 小时前
docker
linux·服务器·学习
域智盾系统2 小时前
电脑文件防泄密软件哪个好?这六款软件建议收藏【精选推荐】
网络
2024071866802 小时前
linux cat命令的实现
linux·运维·服务器
man20172 小时前
LNMP环境搭建、部署的整体流程和详细步骤
linux·mysql·nginx·php
日晨难再2 小时前
Linux:虚拟文件系统/proc和self进程
linux·运维·服务器
咩咩大主教2 小时前
LinuxC++的UDP服务器和客户端通信
linux·服务器·c语言·开发语言·c++·udp
谭舜心2 小时前
怎么让Nginx可以访问某一IP的每个后台controller接口
网络·tcp/ip·nginx