Skip to content

Latest commit

 

History

History
56 lines (46 loc) · 2.51 KB

File metadata and controls

56 lines (46 loc) · 2.51 KB

反向代理的目的

  • 主动断开用户和真实服务器之间直接通信,只有通过我们的代理服务器才能访问我们的服务

Nginx反向代理的配置

  • 查看nginx服务器IP地址, $ip addr, 查看到此服务器ip: 192.168.55.66 (仅作为举例)

  • 编辑nginx服务器配置 $vi /etc/nginx/sites-enabled/default

    server {
        listen        80;
        root          /var/www/html;
        index         index.html index.htm;
        server_name   _;
        location / {
            proxy_pass http://192.168.55.67:80; # 在这里配置一台67主机
        }
    }
    
  • 通过这个配置,一旦有浏览器请求nginx服务器(66主机)时,它就会将请求转发给配置的67主机,再获取到67主机返回的结果,再返回给浏览器

  • 保存退出后重新加载nginx文件 $nginx -s reload

  • 我们访问http://192.168.55.66服务器, 返回的结果是http://192.168.55.67服务器上的内容

Nginx负载均衡的配置

  • 编辑nginx服务器配置 $vi /etc/nginx/sites-enabled/default

    # 配置backend 这里是你要均衡的多台服务器
    # weight表示权重的意思, 以为每台服务器的配置都不一样,完全一样的权重不合理, 配置好的服务器权重相应增加
    # weight可以按服务器的CPU和内存来粗略配置, 假设CPU一样, 如果A服务器的内存是B服务器的2倍, 那么A服务器的权重可以为2, B服务器为1 像这样
    upstream backend {
        server 192.168.55.67:80 weight=1;
        server 192.168.55.68:80 weight=1;
    }
    
    server {
        listen        80;
        root          /var/www/html;
        index         index.html index.htm;
        server_name   _;
        location / {
            proxy_pass http://backend; # 在这里将代理服务器指定为backend
        }
    }
    
  • 保存退出后重新加载nginx文件 $nginx -s reload

  • 再次请求主机为66的nginx的服务器,此时已配置好负载均衡了

    • 我们可以分别在67、68服务器分别特殊处理一下响应内容标识它是哪一台服务器
    • 然后访问66服务器, 频繁刷新, 就可以看到一会儿是67内容, 一会儿是68内容
    • 此时负载均衡已配置完毕,nginx已经将请求在两台服务器之间来回切换
  • 备注:以上是最好的配置方案,通过权重来随机分配机器来实现,也很简单。

    • 当然还有一些其他方案如:ip_hash, 但是并不是太理想, 有时间可以多了解一下。