upstream webname { server 192.168.0.1:8080; server 192.168.0.2:8080; }
个中webname是自己取的名字,末了会通过这个名字在url里访问的,像上面这个例子一样什么都不加便是默认的轮询,第一个要求过来访问第一个server,第二个要求来访问第二个server。依次轮着来。
upstream webname { server 192.168.0.1:8080 weight 2; server 192.168.0.2:8080 weight 1; }
这个weight也很好理解,权重大的被访问的概率就大,上面这个例子的话,访问2次server1,访问一次server2
upstream webname { ip_hash; server 192.168.0.1:8080; server 192.168.0.2:8080; }
ip_hash的配置也很大略,直接加一行就可以了,这样只假如同一个ip过来的都会到同一台server上。然后在server节点下进行配置:

location /name { proxy_pass http://webname/name/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; }
proxy_pass里面用上面配的webname代替了原来的ip地址。这样就基本完成了负载均衡的配置。
下面是主备的配置:还是在upstream里面
upstream webname { server 192.168.0.1:8080; server 192.168.0.2:8080 backup; }
设置某一个节点为backup,那么一样平常情形下所有要求都访问server1,当server1挂掉或者忙的的时候才会访问server2
upstream webname { server 192.168.0.1:8080; server 192.168.0.2:8080 down; }
设置某个节点为down,那么这个server不参与负载。
实现实例1 测试环境由于没有做事器,以是本次测试直接host指定域名,然后在VMware里安装了三台CentOS。测试域名 :http://a.comA做事器IP :192.168.5.149 (主)B做事器IP :192.168.5.27C做事器IP :192.168.5.1262 支配思路A做事器做为主理事器,域名直接解析到A做事器(192.168.5.149)上,由A做事器负载均衡到B做事器(192.168.5.27)与C做事器(192.168.5.126)上。3 域名解析由于不是真实环境,域名就随便利用一个http://a.com用作测试,以是http://a.com的解析只能在hosts文件设置。打开:C:Windows\System32\drivers\etc\hosts在末端添加
192.168.5.149 a.com
保存退出,然后启动命令模式ping下看看是否已设置成功A做事器nginx.conf设置打开nginx.conf,文件位置在nginx安装目录的conf目录下。在http段加入以下代码
upstream a.com { server 192.168.5.126:80; server 192.168.5.27:80; } server{ listen 80; server_name a.com; location / { proxy_pass http://a.com; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
保存重启nginx
B、C做事器nginx.conf设置打开nginx.conf,在http段加入以下代码
server{ listen 80; server_name a.com; index index.html; root /data0/htdocs/www; }保存重启nginx测试 当访问a.com的时候,为了区分是转向哪台做事器处理我分别在B、C做事器下写一个不同内容的index.html文件,以作区分。打开浏览器访问a.com结果,刷新会创造所有的要求均分别被主理事器(192.168.5.149)分配到B做事器(192.168.5.27)与C做事器(192.168.5.126)上,实现了负载均衡效果。
系统的学习PHP
关注本专栏:PHP进阶集中营,转发文章,领取以下视频教程1、php基于tp5.1开拓微信"大众号2、Restful Api实战演习训练 3、实例学习PHP QRCode天生二维码4、2小时教你轻松搞定支付宝、微信扫码支付5 、 ThinkPHP6.0极速入门
你将收成:
理解当下最火热的微做事架构事理及其开源框架;触及swoole并发、性能优化、分布式等系列PHP高等技能 对照自己节制知识点进行查漏补缺,帮助肃清知识盲区、重构知识体系。
末了,大家如果以为本文不错就点个赞吧~!
“点关注,不迷路”,每天带你分享不一样的PHP技能资讯。针对知识体系我总结出了互联网公司PHP程序员口试涉及到的绝大部分口试题及答案做成了文档和架构视频资料免费分享给大家(包括swoole、Redis、laravel、thinkphp、swoft、docker、分布式、高并发等架构技能资料),希望能帮助到您口试前的复习且找到一个好的事情,也节省大家在网上搜索资料的韶光来学习。
领取办法:点赞关注小编后私信【资料】获取资料领取办法!