资讯专栏INFORMATION COLUMN

nginx 负载均衡简单实践

adam1q84 / 661人阅读

摘要:负载均衡配置目前支持种调度算法,下面进行解释,其中后面两种需要第三方插件轮询,这也是默认的。实践代码既然是负载均衡,肯定是多台服务器,我使用了在其他两台服务器可以使用默认配置,访问这样就看到效果了参考文章

因为公司有这个需求,故而简单使用vagrant在本地实践一下,但最好使用docker去部署,以后再写其他方式

反向代理概念

反向代理(Reverse Proxy)方式是指以代理服务器来接受客户端连接请求,然后将请求转发给内部网络上的服务器,并将从服务器得到的结果放回客户端,此时代理服务器对外就表现为一个服务器。

负载均衡

既然是负载均衡,那为什么要说反向代理呢,反向代理服务器管理一组服务器,可以根据对应的负载均衡算法将不同的请求转发到不同的服务器上,服务器处理完成的响应也通过代理服务器返回给用户。

负载均衡配置

nginx upstream目前支持5种调度算法,下面进行解释,其中后面两种需要第三方插件

1.轮询,这也是默认的。每个请求按照时间顺序逐一分配到不同的后端服务器。如果后端某台服务器挂掉了,故障系统可以自动剔除。使用户不受影响

 upstream back{

  server 192.168.30.11;
  server 192.168.30.12;
  server 192.168.30.10;

}

2.指定权重。指定轮询几率。weight和访问比例成正比。用于后端服务器性能不均的情况。

 upstream back{
   server 192.168.30.11 weight=10;
   server 192.168.30.11 weight=20;

} 

3.ip_hash.每个请求按访问ip的hash 结果分配。这样来自同一个ip的访客就固定访问一个后端服务器,有效的解决session共享问题.

  upstream back{
     ip_hash;
     server 192.168.30.11;
     server 192.168.30.12;

  }

后面还有两种,没有试过,就不写了。

实践代码

既然是负载均衡,肯定是多台服务器,我使用了192.168.30.11,192.168.30.10,192.168.30.12

 在 192.168.30.10

    upstream webhost{
#       ip_hash;

       server 192.168.33.11;
       server 192.168.33.12;


    }


    server {
        listen       80;
        server_name  localhost;
        root         /usr/share/nginx/html;

        location / {
         index index.html index.htm;
         proxy_pass http://webhost;
         proxy_redirect off;
         proxy_set_header  X-Real-IP $remote_addr;
         proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header  Host $host;



        }

其他两台服务器可以使用nginx,默认配置,访问192.168.33.10

这样就看到效果了

参考文章:https://segmentfault.com/a/11...
https://lufficc.com/blog/conf...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/39616.html

相关文章

  • 基于node开发的web应用,负载均衡简单实践

    摘要:负载均衡,其意思就是分摊到多个操作单元上进行执行阿里云负载均衡架构文档负载均衡好处节省成本,一个服务器性能再好也是有瓶颈的,而且性能越高的服务器成本也越大。所以我们需要同步负载均衡的服务器的文件。 集群(cluster)是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。负载均衡(Load Bal...

    jkyin 评论0 收藏0
  • Nginx

    摘要:此外,其也能够提供强大的反向代理功能。是由为俄罗斯访问量第二的站点开发的,第一个公开版本发布于年月日。 keepalived+nginx 实现高可用双机热备 + 负载均衡架构 1 准备4个ubuntu16.04虚拟机(启用网卡二并使用桥接模式):A服务器:192.168.0.103 主B服务器:192.168.0.104 主(备) 前端工程师学习 Nginx ...

    syoya 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<