nginx优化和防盗链

查找版本号

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

隐藏版本号:

Bug多,更新版本速度比较快 ,所以一旦版本号暴露出去,有可能给对方提供攻击的漏洞。

在http大模块中修改,不在server中,也不是location中

server_tokens off;

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

第二种方式

修改源码文件,重新编译安装:

源码包里面,修改配置文件

修改完之后要重新配置,编译安装

隐藏版本号打开

cd src/core/

vim nginx.h

配置完成后重新编译安装

vim /usr/local/nginx/conf/nginx.conf

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

server_tokens off改为server_tokens on即可

systemctl restart nginx

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

nginx的日志分割:

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

获取当前日期

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

测试成功

erontab -e -u root #创建一个定时任务

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

网页压缩:

nginx

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

gzip on;

开启压缩功能

gzip_min_length 1k;

如果文件的大小是1k,不再进行压缩处理

gzip_comp_level 6;

压缩级别:压缩比率1-9  1是速度快,压缩比最低,9 压缩的速度最慢,但是压缩比最高,默认是1

gzip_vary on;

前端的缓存也可以支持压缩

gzip_types text/plain text/javascript application/x-javascript text/css text/xml application/xml application/xml+rss image/jpg image/jpeg image/png image/gif application/x-httpd-php application/javascript application/json;

nginx的图片缓存时间

可以在日后访问时,不需要经常的向后台请求数据,加快访问速度

一般是针对静态页面

在location块下添加

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

连接超时时间

keepalive_timeout 60-120;

nginx并发设置:

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

cpu

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

work_processes 4;

worker_connections 15000;

60000个

别忘了修改limits.conf,在/etc/security目录下

查看cpu核数(两种方法)

cat /proc/cpuinfo | grep -c processor

cat /proc/cpuinfo | grep processor | wc -l

一般设4个就可以了        

绑定cpu(全局配置)

给的是几个上面的进程数就得是几个

查询time_wait:

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

time_wait 是tcp连接状态中一种,不是报错!出现在四次挥手之后

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

  1. 确保可靠的关闭连接
  2. 避免连接复用

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

time_wait大量出现,该如何优化

在系统内核配置文件中

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

sysctl -p 立即生效

nginx的内置变量:打印结果

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

\n后面可以追加多个

$remote_addr 客户端的ip地址

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

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

$remote_port 显示客户端的端口号

$uri 显示请求的uri

$host 显示请求的主机名

$request_method 显示请求的方法

重要的变量:

proxy_set_header X-Forwarded-for $remote_addr

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

proxy_set_header X-Real-IP $remote_addr

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

防盗链:

防止其他网站盗用本站图片

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

systemctl restart nginx

vim index.html 

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

test2:

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

systemctl restart nginx

vim /etc/hosts

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

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