为了账号安全,请及时绑定邮箱和手机立即绑定

nginx负载均衡实验(全docker环境)

标签:
Nginx

Nginx  负载均衡基础知识
nginx 的 upstream 目前支持 4 种方式的分配
1)、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。
2)、weight
指定轮询几率,weight 和访问比率成正比,用于后端服务器性能不均的情况。
3)、ip_hash
每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题。
4)、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
5)、url_hash(第三方)
所以,上面提到了,nginx的upstream模块,所以nginx的负载均衡是通过upstream模块来实现的,那我们可以查看一下nginx官方的介绍
http://nginx.org/en/docs/stream/ngx_stream_upstream_module.html

废话不多说,我们准备实验环境

1.安装docker2.docker pull nginx3.配置环境 1.docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -d nginx 2.docker run --name some-nginx2 -v /some/content1:/usr/share/nginx/html:ro -d nginx 3.docker run -v /some/nginx/nginx.conf:/etc/nginx/nginx.conf -v /some/nginx/conf.d:/etc/nginx/conf.d -p 8000:80 -d nginx

配置环境中的1和2都是运行了一个单独的nginx,没有把端口映射出来,因为负载均衡配置的时候不需要公网地址即可,3是运行一个nginx作为负载均衡,把nginx.conf配置文件和conf.d文件夹与宿主机存储打通,这样就可以在docker容器外部修改配置文件了,注意得的是因为nginx.conf是一个文件,所以在宿主机路径下一定要新建一个nginx.conf文件,否则就会报错的。
接下来开始设置配置文件
因为nginx.conf中引用了conf.d文件夹下的*.conf文件

include /etc/nginx/conf.d/*.conf;

所以只要在*.conf中修改就可以了

upstream web {
    server 172.17.0.2:80; #第一个nginx站点
    server 172.17.0.3:80; #第二个nginx站点}

设置location  具体格式可以参考上面的http://nginx.org/en/docs/stream/ngx_stream_upstream_module.html介绍

 location / {
        proxy_pass   http://web;
        #root   /usr/share/nginx/html;
        #index  index.html index.htm;
    }

设置完成后重启docker容器使得更改生效,如果更改错误的话,这个容器是重启不成功的。

接下来,因为咱们配置环境的时候第三个容器将端口发布出来了,就可以访问8000端口来查看是否配置成功。
这个只是一个简单的负载均衡实验,可以在server后面添加负载方式,可以自己动手做一下!

祝好运!



作者:一只刚刚开始吃猫粮的运维狗
链接:https://www.jianshu.com/p/462a2d068e7b


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消