记录一次使用docker配置nginx 负载均衡练习

Nginx/Web服务器
384
0
0
2022-06-09

1、系统环境

服务器底层系统:centos8.3

2、安装docker

# 更新yum
yum update
# 安装docker
yum install docker-ce
# 查看是否安装成功,输出版本号信息视为安装成功
docker -v

在这里插入图片描述

# 配置阿里云景象仓库
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://你自己的景象服务链接"]
}
EOF
# 重新加载配置
sudo systemctl daemon-reload
# 重启docker
sudo systemctl restart docker
# 安装docker nginx 景象
docker pull nginx:latest
# 查看景象是否下载成功
docker images

在这里插入图片描述

# 启动三个nginx容器
docker run --name nginx01 -d -p 8081:80 nginx
docker run --name nginx02 -d -p 8082:80 nginx
docker run --name nginx03 -d -p 8083:80 nginx
#查看启动的容器
docker ps

在这里插入图片描述

#通过ip加端口号访问nginx容器,检查是否正常

浏览器访问ip+端口

24.234.12.15:8083

在这里插入图片描述

#向容器内写入 文件
#1、先创建一个index.html,内容随便填
touch index.html
echo "here 8081" >> index.html
#2、将文件copy进容器的nginx服务下
docker cp index.html nginx01:/usr/share/nginx/html
#3、重复上述步骤 分别将三个容器里面都写入不同内容的文件,便于后面验证访问
#配置宿主机的nginx 负载均衡 nginx.conf 配置文件添加如下配置,端口号可自定义

upstream test01 {
        server 宿主机IP:8081 weight=1;
        server 宿主机IP:8082 weight=2;
        server 宿主机IP:8083 weight=6;
    }
    server {
        listen       80;
        server_name 宿主机IP;
        root         /usr/share/nginx/html;
        index index.html;
    location / {
         proxy_pass http://test01;
         proxy_set_header Host $http_host;
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

         proxy_connect_timeout 30;
         proxy_send_timeout 60;
         proxy_read_timeout 60;

         proxy_buffering on;
         proxy_buffer_size 32k;
         proxy_buffers 4 128k;
    }

}
# 重载nginx 配置
# 不断刷新访问80端口,会看到访问到的的页面内容不同,频次按照weight 权重分布
# 到此完成nginx 一种负载均衡的练习

在这里插入图片描述