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

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

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

docker pull docker.io/nginx
docker pull docker.io/tomcat

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

docker run -itd -p 80:80 docker.io/nginx:latest
docker ps -a
docker inspect 6479f569d49e|grep -i ipaddr

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

docker run -itd docker.io/tomcat:latest 
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,实现负载均衡+反向代理,操作方式如下:

#进入Nginx容器;
docker exec -it 6479f569d49e /bin/bash

#进入Nginx WEB配置文件目录;
cd /etc/nginx/conf.d/

#排除#和空行的代码;
grep -vE "#|^$" default.conf

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

cat>default.conf<<EOF
upstream tomcat_web {
	server 172.17.0.3:8080 weight=100 max_fails=2 fail_timeout=15;
	server 172.17.0.4:8080 weight=100 max_fails=2 fail_timeout=15;
}
server {
    listen       80;
    server_name  localhost;
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
		proxy_set_header Host \$host;
		proxy_pass http://tomcat_web;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}
EOF

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

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

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

4)重启Nginx服务:

nginx -t
nginx -s reload

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

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值