2020-08-21

Docker容器部署Nginx负载均衡(二)

分类专栏: Linux Docker

基于一台物理机,部署1台Nginx均衡2台Tomcat,通过访问Host OS的80端口,能够访问Tomcat容器中的测试页面;

1.基于Docker引擎启动3个Docker容器,首先下载Nginx和Tomcat镜像:

 
  1. docker pull docker.io/nginx

  2. docker pull docker.io/tomcat

 2.其中一个为Nginx容器,并且对外映射80:80端口规则,启动Nginx容器:

 
  1. docker run -itd -p 80:80 docker.io/nginx:latest

  2. docker ps -a

  3. docker inspect 6479f569d49e|grep -i ipaddr

 3.另外两台为Tomcat容器,启动Tomcat容器(无需映射端口):

 
  1. docker run -itd docker.io/tomcat:latest

  2. docker run -itd docker.io/tomcat:latest

4.查看2台Tomcat容器的IP地址,并且记录IP地址;

docker inspect `docker ps -a|grep tomcat|awk '{print $1}'`|grep -i ipaddr|grep -oE "([0-9]{1,3}\.){3}[0-9]{1,3}"|sort|uniq

5.配置Nginx均衡2台Tomcat,实现负载均衡+反向代理,操作方式如下:

 
  1. #进入Nginx容器;

  2. docker exec -it 6479f569d49e /bin/bash

  3. #进入Nginx WEB配置文件目录;

  4. cd /etc/nginx/conf.d/

  5. #排除#和空行的代码;

  6. grep -vE "#|^$" default.conf

1)通过sed或者cat将新内容写入default.conf文件中后回车;

  1. cat>default.conf<<EOF

  2. upstream tomcat_web {

  3. server 172.17.0.3:8080 weight=100 max_fails=2 fail_timeout=15;

  4. server 172.17.0.4:8080 weight=100 max_fails=2 fail_timeout=15;

  5. }

  6. server {

  7. listen 80;

  8. server_name localhost;

  9. location / {

  10. root /usr/share/nginx/html;

  11. index index.html index.htm;

  12. proxy_set_header Host \$host;

  13. proxy_pass http://tomcat_web;

  14. }

  15. error_page 500 502 503 504 /50x.html;

  16. location = /50x.html {

  17. root /usr/share/nginx/html;

  18. }

  19. }

  20. EOF

2)写入完成后检查内容是否正确:使用cat default.conf命令检查:

3)修改替换未成功的部分参数:

sed -i 's/default.conf/\t/g' default.conf

4)重启Nginx服务:

 
  1. nginx -t

  2. nginx -s reload

5)浏览器访问Nginx均衡的2台Tomcat:

实现目的:当其中一台tomcat挂掉时,另一台可以继续保持访问

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值