Nginx优化与防盗链

服务优化

        隐藏Nginx版本号,避免安全漏洞泄露

        方法

                修改配配置文件 /usr/local/nginx/conf/nginx.conf

                        在34行添加如图信息

server_tokens off;

                修改源代码

 

深入优化

        修改用户和组、

        配置网页缓存

                修改 Nginx 的配置文件,在新 location 段加入 expires 参数,指定缓存的时间,1d 表示一天

vi /usr/local/nginx/conf/nginx.conf
expires 1d;

         日志分割

                打开文件

vi /opt/fenge.sh

                编写脚本

#!/bin/bash
# Filename: fenge.sh
#-d "-1 day"  获取昨天的日志
d=$(date -d "-1 day" "+%Y%m%d")
#路径
logs_path="/var/log/nginx"
#存放nginxid号,用来发送日志
pid_path="/usr/local/nginx/logs/nginx.pid"
[ -d $logs_path ] || mkdir -p $logs_path
# 移动并重命名日志文件
mv /usr/local/nginx/logs/access.log ${logs_path}/access.log-$d
# 重建新日志文件
kill -USR1 $(cat $pid_path)
# 删除 30 天之前的日志文件
find $logs_path -mtime +30 |xargs rm -rf

                给执行权限

 chmod +x /opt/fenge.sh
crontab -e
0 0 * * * /opt/fenge.sh

         连接超时

                为避免同一客户端长时间占用连接,造成资源浪费,可设置超时相应的连接超时参数,实现控制连接访问时间

                超时参数

                        Keepalive——timeout

                                设置连接保持超时时间

                        Client_header_timeout

                                指定等待客户端发送请求头的超时时间

                        Client_body_timeout

                                设置请求体读超时时间

         更改Nginx运行进程数

                修改配置文件的woker_processes参数

                        一般设为CPU的个数或者核数

                        在高并发情况下可设置为CPU个数或者核数的2倍

                好处

                        增加进程数,可减少了系统的开销,提升了服务速度

        配置网页压缩

                作用:Nginx 的 ngx_http_gzip_module 压缩模块提供了对文件内容压缩的功能,允许 Nginx 服务器将输出内容发送到客户端之前进行压缩,以节约网站的带宽,提升用户的访问体验

                打开配置文件 vi /usr/local/nginx/conf/nginx.conf

                在33行的注释取消

                为其添加配置 

    gzip_buffers 4 64k;
    gzip_http_version 1.1;
    gzip_comp_level 2;
    gzip_min_length 1k;
    gzip_vary on;
    gzip_types text/plain text/javascript application/x-javascript text/css text/xml application/xml application/xml+rss;


# gzip on:开启 gzip 压缩输出;
# gzip_min_length 1k:用于设置允许压缩的页面最小字节数;
# gzip_buffers 4 16k:表示申请 4 个单位为 16k 的内存作为压缩结果流缓存,默认值是申请与原始数据大小相同的内存空间来存储 gzip 压缩结果;
# gzip_http_version 1.0:用于设置识别 http 协议版本,默认是 1.1,目前大部分浏览器已经支持 gzip 解压,但处理较慢,也比较消耗服务器 CPU 资源;
# gzip_comp_level 2:用来指定 gzip 压缩比,1 压缩比最小,处理速度最快;9 压缩 比最大,传输速度快,但处理速度最慢,使用默认即可;
# gzip_types text/plain:压缩类型,是对哪些网页文档启用压缩功能;
# gzip_vary on:选项可以让前端的缓存服务器缓存经过 gzip 压缩的页面。

         编辑文件内容vi /usr/local/nginx/html/index.html (整大点)

curl -I -H"Accept-Encoding: gzip, deflate" "http://127.0.0.1/index.html"

 

        配置防盗链

                        1.第一台机器

 

                        2.第二台机器,部署上nginx后 

 

cat > /usr/local/nginx/html/index.html << EOF
<html><body><h1>hello</h1>
<img src="http://www.kgc01.com/logo_jpg.jpg"/>
</body></html>
EOF

                                3.新打开一台桌面版Linux 

                        防盗
                                在第一台机器 

                                在43行添加配置 

location ~* \.(gif|jpg|jpeg)$ {
    valid_referers *.kgc01.com;
    if ($invalid_referer) {
        rewrite ^/ http://www.kgc01.com/error.png;
    }
}

# ~* \.(jpg|gif|swf)$:这段正则表达式表示匹配不区分大小写,以.jpg 或.gif 或.swf 结尾的 文件;
# Valid_referers:设置信任的网站,可以正常使用图片;
# If 语句:如果链接的来源域名不在 valid_referers 所列出的列表中,$invalid_referer 为 1,则执行后面的操作,即进行重写或返回 403 页面。
# valid_referers的值一共有四种 none、blocked、server_names、string
# none:直接访问url,而不使用任何网站或链接的跳转,$http_referer变量的值是空的。
# blocked:请求标头中存在“ Referer”字段,但其值已被防火墙或代理服务器删除;这些值是不以“ http://”或“ https://”开头的字符串
# server_names: 写域名,设置允许的域名

                

  • 25
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值