网站首页 > 精选教程 正文
说明:
这次开启3台nginx 来做测试,名称为master,slave01,slave02
步骤:
tips:
这里在使用-v进行挂载目录时,出现了在宿主机里修改配置文件不生效的问题,解决办法:先启动一个nginx服务,但 不是挂载到宿主机上,把配置文件目录拷贝到宿主机上,再启动一个新的nginx服务进行挂载,使用docker-compose.yml并不会出现这个问题
启动第一个nginx服务,名称为master,端口为8080
docker run --name master -p 8080:80 -v /mnt/d/wsl_www/nginx-slb/conf/nginx:
/etc/nginx -v /mnt/d/wsl_www/nginx-slb/www:/usr/share/nginx/html -d nginx:1.20.1
#参数说明
--name 给容器起名称
-p 指定端口
-v 挂载目录
-d 以后台运行
由于在容器里编辑配置文件不方便,我就把它拷贝到宿主机里的挂载目录中,命令如下:
docker cp master:/etc/nginx/nginx.conf /mnt/d/wsl_www/nginx-slb/conf/nginx/
#这里只复制的主文件,主要是为了演示
启动另外两个nginx服务,名称slave01,slave02,端口为8081,8082
#slave01相关命令如下
docker run --name slave01 -p 8081:80 -v /mnt/d/wsl_www/nginx-slb/conf01/nginx:/etc/nginx -v /mnt
/d/wsl_www/nginx-slb/www01:/usr/share/nginx/html -d nginx:1.20.1
#slave02相关命令如下
docker run --name slave02 -p 8082:80 -v /mnt/d/wsl_www/nginx-slb/conf02/nginx:/etc/nginx -v /mnt
/d/wsl_www/nginx-slb/www02:/usr/share/nginx/html -d nginx:1.20.1
通过docker ps查看运行中的nginx服务
配置master的nginx.conf配置文件,添加如下内容
upstream abc {
server 172.21.105.60:8081;#这里的ip是个坑,下面有解释
server 172.21.105.60:8082;
}
再配置conf.d目录下的default.conf文件
重启master服务
docker exec -it master /etc/init.d/nginx reload
天坑:
我的环境如下:
- win10系统
- win10子系统wsl2的系统是ubuntu20.04
- ubuntu系统里安装docker服务
- nginx容器运行在docker里
我在一开始运行nginx负载均衡时,一直不成功,最后排查是因为是我的ip设置有问题,在真实服务器上不会有这问题,浪费了些时间
在这里会有几个ip需要说明一下
- win10系统里的ip
- ubuntu系统里的ip
- docker容器里的ip
我一开始配置的是upstream里的ip是直接写的容器里的ip,始终也不行,其实在真实环境里,直接 写内网地址就可以了,但是这里是不可以的!
最终的解决办法
一定要写ubuntu系统里的ip,也就是etho0对应的ip地址,网卡说的宿主机地址,也是指的docker容器所在的宿主机,也就是ubuntu20.04系统,千万不要把windows当成宿主机呀(血的教训!!!!)
猜你喜欢
- 2024-10-21 如何学习获得高并发的经验? 如何实现高并发 高可用
- 2024-10-21 线上SpringCloud网关调用微服务跨机房了,咋整?
- 2024-10-21 那些你不知道的?——支付宝架构师眼中的高并发架构
- 2024-10-21 实践参考:高并发架构常见方案(推荐收藏)
- 2024-10-21 支付宝架构师眼中的高并发架构 支付宝架构师眼中的高并发架构指什么
- 2024-10-21 kubernetes-9:nginx-ingress容器化
- 2024-10-21 基于K8S私有化交付要注意这几点问题
- 2024-10-21 SAE 场景下,应用流量的负载均衡及路由策略配置实践
- 2024-10-21 论数据中心网络的负载均衡技术 数据中心负荷
- 2024-10-21 架构师眼里的高并发架构 高并发架构图
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)