nginx的反向代理和负载均衡

理解概念:

       反向代理代理服务器进行交互,当接收到来自客户端的请求后,根据一定的策略将请求转发给内部的一台或多台服务器处理,并将得到的结果返回给客户端

       负载均衡作为一个中间层根据不同的策略来分配请求,接收客户端的请求并将这些请求分配给后端的一个或多个服务器,当有多台应用服务器提供相同的服务时,Nginx 可以作为前端服务器,根据不同的算法(如轮询、最少连接数等)将请求分发到不同的后端服务器上。

      

实现:

负载均衡:

1)服务器设置

为了测试方便起见,可以在不同端口部署多个网站,模拟web服务器集群

2) 修改Nginx配置 nginx/conf/nginx.conf

在http中添加上游组upstream,配置服务器列表,myservers是列表名称,内部每个server后面是服务器的IP和端口

upstream myservers { 
    server 192.168.0.113:81;
    server 192.168.0.113:82;
    server 192.168.0.113:83;
}

添加server,配置代理将请求发送给myservers处理

server {
        listen       8000;
        server_name  localhost;
        charset utf-8;
        location / {
            proxy_pass http://myservers;
        }
}

3) 重启Nginx

./nginx -s reload

4) 测试

浏览器测试8000端口访问hello接口时,发现接口的调用是轮询式的。

5)配置权重(根据需求配置)

每个服务器的处理能力不同,可以配置权重weight,让能力强的服务器处理更多请求

upstream myservers { 
    server 192.168.0.113:81 weight=1;
    server 192.168.0.113:82 weight=2;
    server 192.168.0.113:83 weight=1;
}

反向代理:

部署web网站,端口是8888,现在需要通过URL:http://manage.blb.com/也能访问到该接口

1.在\etc\hosts文件中添加:

127.0.0.1 manage.blb.com

2.在nginx的html下创建网站目录demo8888,创建index.html页面

3.添加虚拟主机

server{
   listen 8888;
   server_name localhost;
   root html/demo8888;
   index index.html;
}

4.修改nginx.conf,添加配置

server {
    listen       80;
    server_name  manage.blb.com;
    charset utf-8;
    location / {
        proxy_pass http://127.0.0.1:8888;
        proxy_connect_timeout 600;
        proxy_read_timeout 600;
    }
}

proxy_pass 是原来的域名和端口,127.0.0.1就是localhost server_name 后面是映射后的域名 listen 后面是映射后的端口

5重启nginx

nginx -s reload

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值