基于docker容器实现nginx负载均衡

以下是最基本的nginx负载均衡的实验,用权重方式,在轮询策略的基础上指定轮询几率:

安装docker,配置网络设置手动ip:192.168.238.183
systemctl stop firewalld ##应该设置防火墙策略,为了实验方便直接关停防火墙
docker pull nginx ##拉去nginx镜像
docker run -p 开启三个nginx容器并指定容器端口80,8082,8083
docker cp ID:/etc/nginx/nginx.conf /root ##拷取一份nginx的配置文件
vi /root/nginx.conf

upstream httpd{
# hash &request_uri;
server 192.168.238.183:8082 weight=6;##设置权重为6
server 192.168.238.183:8083 weight=2;##设置权重为2
}
server {
listen 80 ;
server_name 192.168.238.183;
location / {
proxy_pass http://httpd;
}
}
##在http模块中加入以上内容
docker cp /root/nginx.conf 80端口的容器ID:/etc/nginx/nginx.conf
##为了实验便于分辨,修改index.html里不同的内容
docker exec -it 8082端口的容器ID bash
echo "this is nginx 1" > /usr/share/nginx/html/index.html
service nginx start
docker exec -it 8083端口的容器ID bash
echo "this is nginx 2" > /usr/share/nginx/html/index.html
service nginx start
docker exec -it 80端口的容器ID bash
service nginx start


http://192.168.238.183
刷新三次都是this is nginx 1后,再刷新一次this is nginx 2。其中一台容器挂掉以后,客户访问无感。

posted @ 2023-11-27 11:22  陈思进取  阅读(74)  评论(0)    收藏  举报