nginx 初探 之反向代理

Nginx反向代理与负载均衡
本文详细介绍了Nginx作为反向代理服务器的工作原理及配置方法,并阐述了几种常用的负载均衡策略,包括轮询、加权轮询、热备及ip_hash等。

首先要解释的是什么叫做反向代理?

平时我们浏览网页可以输入网址直接访问,  但如果访问国外的网站,  可能就没那么简单('中国特色'),  这时候我们需要配置一个代理服务器, 

然后通过此服务器中转来访问需要的网址.  这个过程就是(正向)代理.  客户端是知道自己使用了代理的.

 

反向代理是相对于(正向)代理说的.  倘若我们要访问的网站是集群部署的,  服务器不止一台,那么该由哪台服务器来响应请求呢?

这时候网站需要一个代理服务器,对外暴露服务(网址),  浏览器(客户端)只访问代理服务器, 由代理服务器根据一定的策略决定哪台服务器响应. 

这个过程就是反向代理.  客户端不知道自己的请求被代理服务器转发了..

 

祭出一张图:

 

nginx就是一款优秀的http服务器和反向代理服务器,我们把它安装并启动后,在浏览器中输入localhost,就可以看到nginx默认页.

nginx配置文是nginx.conf ,打开来找到下面的部分:

server {
      listen       80;   #nginx监听在80端口
        server_name  localhost;   #nginx要监听的地址

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
 
        location / {  # / 表示 兜底的匹配方式,匹配所有未找到合适匹配的请求
    
           root   html; #这里是nginx默认根目录
            indexl index.html index.htm;#默认的首页
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {  #"=/50x.html" 表示精确匹配 localhost/50x.html 的请求
            root   html;
        }

从注释可以看出来, 当访问地址localhost的时候,发现是 端口是 80 ,且server_name是localhost  , 能够匹配 的 location为 /  .所以被解析为nginx_server_path/html/index.html .

 

如果我们要自定义转发的地址怎么办呢,添加两个配置即可 upstream ,proxy_pass.

  upstream anyname{#要转发到的服务器列表
        server 192.168.0.103:8080 weight=1;#服务器地址1,权重1.
        server 192.168.0.103:8081 weight=1;#服务器地址2,权重1
        #server 192.168.0.103:8082 backup;  #热备  
        #ip_hash;#固定转发
        }
    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
        proxy_pass   http://anyname; #代理转发
            root   html;
            index   login.html index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

这样就可以随意转发请求到自定义的服务器了.

nginx作为 反向代理服务器,也有软负载均衡的能力,主要有这么几种类型

1、热备:如果你有n+1台服务器,当n台服务器都发生事故时,才启用热备服务器给提供服务。服务器处理请求的顺序:ABCABCABC突然ABC都挂啦,BBBBBBBBBBBBBB.....

upstream mysvr { 
      server 192.168.0.103:8080; 
      server 192.168.10.103:8082 backup;  #热备     
    }

2、轮询:nginx默认就是轮询,其权重都默认为1,服务器处理请求的顺序:ABABABABAB....

upstream mysvr { 
      server 192.168.0.103:8080;
      server 192.168.10.103:8081;       
    }

3、加权轮询:跟据配置的权重的大小而分发给不同服务器不同数量的请求。如果不设置,则默认为1。下面服务器的请求顺序为:ABBABBABBABBABB....

 upstream mysvr { 
      server 192.168.0.103:8080  weight=1;
   server 192.168.10.103:8081 weight=2;
}

4、ip_hash:nginx会让相同的客户端ip请求相同的服务器,可以避免分布式session的问题,但也容易负载失衡。

upstream mysvr { 
      server 192.168.0.103:8080; 
      server 192.168.10.103:8081;
      ip_hash;
    }

关于nginx负载均衡配置的几个状态参数讲解。

  • down,表示当前的server暂时不参与负载均衡。

  • backup,预留的备份机器。当其他所有的非backup机器出现故障或者忙的时候,才会请求backup机器,因此这台机器的压力最轻。

  • max_fails,允许请求失败的次数,默认为1。当超过最大次数时,返回proxy_next_upstream 模块定义的错误。

  • fail_timeout,在经历了max_fails次失败后,暂停服务的时间。max_fails可以和fail_timeout一起使用。

 upstream mysvr { 
      server 127.0.0.1:7878 weight=2 max_fails=2 fail_timeout=2;
      server 192.168.10.121:3333 weight=1 max_fails=2 fail_timeout=1;    
    }

上面就是nginx反向代理和负载均衡的简单配置.如果要深入学习请google之.我也是在学习中,如有错误,敬请斧正,不胜感激.

 

转载于:https://www.cnblogs.com/1xin1yi/p/7406678.html

一、数据采集层:多源人脸数据获取 该层负责从不同设备 / 渠道采集人脸原始数据,为后续模型训练与识别提供基础样本,核心功能包括: 1. 多设备适配采集 实时摄像头采集: 调用计算机内置摄像头(或外接 USB 摄像头),通过OpenCV的VideoCapture接口实时捕获视频流,支持手动触发 “拍照”(按指定快捷键如Space)或自动定时采集(如每 2 秒采集 1 张),采集时自动框选人脸区域(通过Haar级联分类器初步定位),确保样本聚焦人脸。 支持采集参数配置:可设置采集分辨率(如 640×480、1280×720)、图像格式(JPG/PNG)、单用户采集数量(如默认采集 20 张,确保样本多样性),采集过程中实时显示 “已采集数量 / 目标数量”,避免样本不足。 本地图像 / 视频导入: 支持批量导入本地人脸图像文件(支持 JPG、PNG、BMP 格式),自动过滤非图像文件;导入视频文件(MP4、AVI 格式)时,可按 “固定帧间隔”(如每 10 帧提取 1 张图像)或 “手动选择帧” 提取人脸样本,适用于无实时摄像头场景。 数据集对接: 支持接入公开人脸数据集(如 LFW、ORL),通过预设脚本自动读取数据集目录结构(按 “用户 ID - 样本图像” 分类),快速构建训练样本库,无需手动采集,降低系统开发与测试成本。 2. 采集过程辅助功能 人脸有效性校验:采集时通过OpenCV的Haar级联分类器(或MTCNN轻量级模型)实时检测图像中是否包含人脸,若未检测到人脸(如遮挡、侧脸角度过大),则弹窗提示 “未识别到人脸,请调整姿态”,避免无效样本存入。 样本标签管理:采集时需为每个样本绑定 “用户标签”(如姓名、ID 号),支持手动输入标签或从 Excel 名单批量导入标签(按 “标签 - 采集数量” 对应),采集完成后自动按 “标签 - 序号” 命名文件(如 “张三
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值