Nginx 服务优化与防盗链

Nginx隐藏版本号、服务名

1. 改配置文件

HTTP模块中添加命令:
server_tokens off;

关闭防火墙、安全机制

将配置文件备份一份,再进行配置 

  2. 改源码包

 /opt/nginx-1.22.0/src/core/nginx.h
#define NGINX_VERSION "1.1.1"   #修改版本号 
#define NGINX_VER "burun/" NGINX_VERSION
重新编译安装,将之前off改为on

 或者:

 

 make -j 4 && make install

 二、日志分割

 

#!/bin/bash


#获取日期
d=$(date +%Y-%m-%d)
#定义存储目录
dir="/usr/local/nginx/logs"

#分割日志
logs_file="/usr/local/nginx/logs/access.log"
logs_error='/usr/local/nginx/logs/error.log'

#定义nginx的pid文件
pid_file='/usr/local/nginx/run/nginx.pid'

if [ ! -d "$dir" ]
then
   mkdir -p $dir
fi

#移动日志并且重命名

mv $logs_file ${dir}/access_${d}.log
mv $logs_error ${dir}/error_${d}.log

#发送信号给nginx主程序,让他生成一个新的日志文件

kill -USR1 $(cat ${pid_file})
 

#日志文件清理的命令
find ${dir} -mtime +30 -exec rm -rf {} \;

给脚本赋权执行

此时log文件里生成了两个新的文件,这就是分割日志 

三、Nginx的页面压缩 

页面压缩可以节约带宽,提高用户的访问速度
压缩的功能是默认自带的,可以不取消注释
但是需要添加压缩细节,需要把gzip打开后进行配置

修改配置文件

取消注释,开启gzip的压缩功能 

 接着添加代码:

 gzip_min_length 1k;        

#最小压缩文件的大小      
gzip_buffers 4 64k;      

#压缩缓冲区,大小为4个64K缓冲区,Nginx 会使用 4 个 64KB 大小的缓冲区来存储压缩后的数据。
gzip_http_version 1.1;    

#压缩版本,默认为1.1
gzip_comp_level 6;        

#压缩比率(压缩等级为1-9,6是中等等级,也是常用等级)Gzip 压缩级别的范围是 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;
#压缩的类型,哪些文档启用压缩功能

 

重启服务使配置生效 

gzip压缩功能已打开 

四、图片缓存 

五、Nginx的并发设置

六、配置防盗链

valid_referers :设置信任的网站,可以正常使用图片;
none:允许没有http_refer的请求访问资源(根据Referer的定义,它的作用是指示一个请求是从哪里链接过来的,如果直接在浏览器的地址栏中输入一个资源的URL地址,那么这种请求是不会包含 Referer 字段的),如 http://www.kgc.com/game.jpg
我们使用 http://www.kgc.com 访问显示的图片,可以理解成 http://www.kgc.com/game.jpg 这个请求是从 http://www.kgc.com 这个链接过来的。
blocked:允许不是http://开头的,不带协议的请求访问资源; 
*.kgc.com:只允许来自指定域名的请求访问资源,如 http://www.kgc.com

$invalid_referer:只要不是valid_referers设置现任的网站,都为true

vim /usr/local/nginx/conf/nginx.conf
http {
......
    server {
    ......
        location ~* \.(jpg|gif|swf)$ {
            valid_referers none blocked *.kgc.com kgc.com;
            if ( $invalid_referer ) {
                rewrite ^/ http://www.kgc.com/error.png;
                #return 403;
            }
        }
    ......
    }
}

网页准备:
Web源主机(192.168.146.20)配置:
cd /usr/local/nginx/html
将game.jpg、error.png文件传到/usr/local/nginx/html目录下
vim index.html
...... 
<img src="game.jpg"/>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/ZWH9991/article/details/132293719
今日推荐