nginx的优化和防盗链

nginx隐藏版本号

1、隐藏版本号:
bug多。更新版本速度比较快,所以一旦版本号暴露出去,有可能给对方提供攻击的漏洞。在http大模块中修改,不再server中,也不是location。
server_tokens off;

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

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

2.修改源码文件,重新编译安装:
源码包里面,修改配置文件
修改完之后要重新配置,编译和安装
隐藏版本号打开

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

vim nginx.h

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

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

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

nginx的日志分割:

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

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

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

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

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

创建定时任务

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

网页压缩:

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

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

nginx的优化和防盗链_第13张图片
gzip_types text/plain text/javascript application/x-javascript text/css text/xml application/xml application/xml+rss image/jpgimage/jpeg image/png image/gif application/x-httpd-php application/javascript application/json;

nginx的图片缓存时间

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

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

连接超时:

keepalive_timeout 60 -120 ;

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

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

nginx并发设置:

在高并发的场景下,需要nginx启动更多的进程来保证快速响应。cpu
根据cpu的核心数,调整nginx的工作进程数。
work_procersses 4;
worker_connections 15000;
60000个
别忘了修改limits.conf
  8个以上性能降低:反复切换CPU,影响效率

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

TIME_WAIT大量出现,该如何优化。

time_wait是tcp连接状态中的一种,不是报错!出现在四次挥手之后。
在time_wait状态下, tpc处于连接等待状态,等待有一个持续时间 http1.1会话保持。
1、确保可靠的关闭连接
2、避免连接复用。他在连接正常关闭之后,一段时间时间之后,自动消失。而且占用的资源很小,对服务器性能的影响有限。

vim /etc/sysctl.conf

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秒。

nginx的内置变量:打印结果

$remote_addr客户端的ip地址
$remote_port显示客户端的端口号
$uri:显示请求的uri
$host:显示请求的主机名
$request_method:显示请求的方法。

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

重要的变量:

proxy_set_header X-Forwarded-for $remote_addr
代理服务器设置这个变量,客户端的真实ip要发送给后端,否则代理服务器地址会被拉入黑名单。proxy_set_header X-Real-IP $remote_addr
客户端的真实ip,发送给后端,现在所有的网站都会要求客户端请求时,加上真实ip.

防盗链:防止其他网站盗用本站的图片。
   nginx的优化和防盗链_第19张图片

     valid_referers none blocked *.kgc.com kgc.com;
        if(  $valid_referer  ) {
           rewrite A/ http://www.kgc.com/error.png; 
valid_referers:设置信任的网站
kgc.com www.kgc.com
*.kgc.com
none:允许没有http_refer的请求访问资源,请求url里面可以refer
www.kgc.com/ls.jpg
blocked:请求网站时,前面可以不带协议
www.baidu.com
www.jd.com
http://www.baidu.com
   if ($valid_referer ){
          rewrite ^ / http://www.kgc.com/error.png;
}
如果连接资源不是来自上面valid_referers定义的信任列表,$valid_referer变为true,执行重定向
rewrite^/http://www.kgc.com/error.png;

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