記錄一次使用docker配置nginx 負載均衡練習

Bergman發表於2021-08-19

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 一種負載均衡的練習

在這裡插入圖片描述

本作品採用《CC 協議》,轉載必須註明作者和本文連結
Bergman

相關文章