nginx的优化和防盗链

1.隐藏版本号

bug多,更新版本速度比较快,所以一旦版本号暴露出去,有可能给对方攻击

在http大模块中修改

第二种方式:

修改源码文件,重新编译安装:路径 /src/core/nginx.h

源码包里面,修改配置文件,修改完之后要重新配置,编译和安装

隐藏版本号打开

cd /opt/nginx-1.22.0/src/core.nginx.h

vim nginx.h

第13和14行

重新配置

2.nginx的日志分割

nginx没有自带的日志分割功能,靠我们运维人员通过

nginx的优化和防盗链_第1张图片

3.网页压缩

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

nginx的优化和防盗链_第2张图片

4.nginx的图片缓存时间

        可以在日后访问时,不需要经常的向后台请求数据,加快访问速度,一般针对静态页面,动态不设置缓存时间

5.连接超时

6.nginx并发设置

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

根据cpu的核心数,调整nginx的工作进程数

并发量 150000

别忘了修改limits.conf

7.TIME_WAIT大量出现,该如何优化

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

1.确保可靠的关闭连接

2.避免连接复用

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

vim /etc/sysctl.conf

nginx的优化和防盗链_第3张图片

net.ipv4.tcp_syncookies = 1

#表示开SYN cookies

当出现SYN等待队列溢出时,启用cookies处理syn队列,默认是0 。1开启。

net.ipv4.tcp_tw_reuse = 1

#time_wait状态可以重用,一个连接就要占用一个端口,time_wait把所有的端口全部占满了,新的连接请求也不会拒绝。

net.ipv4.tcp_tw_recycle = 1

#让time_wait尽快回收。

net.ipv4.tcp_fin_timeout = 60 # 所有time_wait 最大的生命周期60秒。

8.nginx的内置变量

$remote_addr 客户端的ip地址

直接在网页显示

$remote_port 客户端的端口号

$uri :显示请求的uri

$host 显示请求的主机名

$request_method 显示请求的方法

重要的变量:

proxy_set_header X-Forwarded-for $remote_addr

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

proxy_set_header X-Real-IP $remote_add

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

微信微博b站都会显示ip地址

9.防盗链

nginx的优化和防盗链_第4张图片

nginx的优化和防盗链_第5张图片

你可能感兴趣的:(nginx,运维)