【lamp架构】nginx限流、配置(自动索引、缓存、日志轮询与禁用部分记录、目录和文件限制、中文乱码)、重定向、防盗链

一、nginx限流

01_限制并发数

  • nginx默认发布目录下,创建download文件,并放入大小约为444K的图片
    在这里插入图片描述
  • 当未做任何限制时,物理机下压力测试
    ab -c 10 -n 10 http://172.25.2.1/download/vim.jpg
    压力测试,-c指定并发数,-n指定请求数
    在这里插入图片描述
  • 限制并发数
    vim /usr/local/nginx/conf/nginx.conf
   limit_conn_zone $binary_remote_addr zone=addr:10m;
    location /download/ {
    limit_conn addr 1;
    #limit_rate 50k;
    }

nginx -t
nginx -s reload
在这里插入图片描述

  • 压力测试
    ab -c 10 -n 10 http://172.25.2.1/download/vim.jpg

在这里插入图片描述

  • 查看日志
    cat /usr/local/nginx/logs/access.log
    在这里插入图片描述

02_限制带宽

限制带宽
vim /usr/local/nginx/conf/nginx.conf

limit_rate 50k;	

nginx -t
nginx -s reload

在这里插入图片描述

  • 压力测试
    ab -c 10 -n 10 http://172.25.2.1/download/vim.jpg

在这里插入图片描述

03_限制单位时间请求数目

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

        limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
        limit_req zone=one;
        limit_req zone=one burst=5          %表示一次传输5个,直到传输完成
        limit_req zone=one burst=5 nodelay; %表示一次传输5个,不等待,超时则任务失败
rate=1r/s表示允许相同标识的客户端的访问频次,这里限制的是每秒1

在这里插入图片描述

ab -c 1 -n 10 http://172.25.0.1/download/vim.jpg
在这里插入图片描述

limit_req zone=one burst=5

在这里插入图片描述

limit_req zone=one burst=5 nodelay

在这里插入图片描述

二、nginx配置管理

01_自动索引

下载方便

  • vim /usr/local/nginx/conf/nginx.conf
自动索引可以自动索引到相关目录,方便下载相关文件:
autoindex on;

在这里插入图片描述

  • 访问172.25.2.1/download,可以直接索引到该目录中的文件
    在这里插入图片描述

02_expire缓存配置

缓存可以降低网站带宽,加速用户访问

  • vim /usr/local/nginx/conf/nginx.conf
 location ~ .*\.(gif|jpg|png)$ {
        expires 365d;
        root html;
}

在这里插入图片描述测试
curl -I 172.25.2.1/download/vim.jpg
在这里插入图片描述

03_日志轮询

cd /opt/
vim nginxlog.sh

#!/bin/bash
cd /usr/local/nginx/logs && mv access.log access_$(date +%F -d -1day).log    %日志文件重命名
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`      %重载日志

在这里插入图片描述

04_禁用不必要的日志记录

  • vim /usr/local/nginx/conf/nginx.conf
access_log off;

在这里插入图片描述
在这里插入图片描述

  • 再次访问172.25.2.1/download/

在这里插入图片描述

  • 日志不会记录

在这里插入图片描述

05_站点目录和文件的限制

  • 未加限制之前
    在这里插入图片描述
  • 增加限制
    vim /usr/local/nginx/conf/nginx.conf
 deny all;

在这里插入图片描述
在这里插入图片描述

  • 允许某些用户访问
    vim /usr/local/nginx/conf/nginx.conf

在这里插入图片描述

  • 访问172.25.2.1/download/
    在这里插入图片描述

06_中文乱码

  • 编辑nginx默认html测试页面,使其产生中文乱码
    vim /usr/local/nginx/html/index.html
    在这里插入图片描述

  • 出现乱码情况
    在这里插入图片描述

  • 解决中文乱码
    vim /usr/local/nginx/conf/nginx.conf
    在这里插入图片描述

  • 访问172.25.2.1,乱码问题解决

在这里插入图片描述

三、nginx重定向

01_防止域名恶意解析到服务器IP

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

return 500; 

在这里插入图片描述
访问172.25.2.1
在这里插入图片描述

02_永久重定向

  • vim /usr/local/nginx/conf/nginx.conf
rewrite ^(.*) http://www.westos.org permanent;

在这里插入图片描述

  • 访问测试 172.25.2.1,重定向
    在这里插入图片描述
    在这里插入图片描述

03_80重定向443

  • vim /usr/local/nginx/conf/nginx.conf
    在这里插入图片描述
    在这里插入图片描述
    网页访问172.25.2.1,已经重定向到443
    在这里插入图片描述

04_同一台主机,不同域名之间的重定向

方式1

  • 编辑配置文件

mkdir /bbs
echo bbs.linux.org > /bbs/index.html
vim /usr/local/nginx/conf/nginx.conf

        rewrite ^/bbs$ http://bbs.linux.org permanent;
        rewrite ^/bbs/(.*)$ http://bbs.linux.org/$1 permanent;
server {
        listen 80;
        server_name     bbs.linux.org;

        location / {
                root  /bbs;
                index   index.html;
        }
}

在这里插入图片描述

  • 测试
    在这里插入图片描述
    在这里插入图片描述

方式2
在这里插入图片描述

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

if ($host = "bbs.linux.org"){
rewrite ^/(.*)$ http://www.linux.org/bbs/$1 permanent;
}

在这里插入图片描述
访问测试
在这里插入图片描述

四、防盗链

盗链:在自己的页面中嵌入别人的链接,显示在自己的页面上,以达到盗链的目的,。

  • 制作盗链
    选取server2主机,在其apache的默认发布目录下编写盗链文件,盗取server1的页面
    vim /var/www/html/index.html
<body>
<img src="http://www.westos.org/download/vim.jpg"/>
</body>
  • 在物理机下 vim /etc/hosts
172.25.2.2 server2 daolian.westos.org
  • 当访问172.25.2.2或者daolian.westos.org时,直接链接到www.westos.org/download/vim.jpg,显示其下的内容
    在这里插入图片描述

防盗链,防止盗链消耗原站的流量
方法一:返回403

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

location ~ \.(jpg|png)$ {
        valid_referers none blocked www.westos.org;
        if ($invalid_referer) {
                return 403;
                #rewrite ^/ http://172.25.2.3/daolian.jpg;
        }
}

在这里插入图片描述

  • 再次访问172.25.2.2或者daolian.westos.org

在这里插入图片描述
方法二:重定向盗链

  • 在server3的apache发布目录下,放daolian.jpg

在这里插入图片描述

  • vim /usr/local/nginx/conf/nginx.conf
  location ~ \.(jpg|png)$ {
        valid_referers none blocked www.westos.org;
        if ($invalid_referer) {
                #return 403;
                rewrite ^/ http://172.25.2.3/daolian.jpg;
        }
}

在这里插入图片描述

  • 再次访问172.25.2.2或者daolian.westos.org
    在这里插入图片描述
  • www.westos.org/download/vim.jpg可以正常访问

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值