使用docker搭建nginx集群,實現負載均衡
注:此次nginx 集群搭建測試在阿里雲服務上搭建。
一、下載、安裝nginx鏡像、離線安裝nginx鏡像
(1) 可以訪問網絡的情況下使用 docker pull nginx 就可以拉取nginx 鏡像地址;
(2) 沒有網絡的情況下,外網下載nginx.tar包,拷貝到xftp上,記住目錄,cd到目錄下, 使用 docker load -i nginx.tar(包名) 加載鏡像;
(3) 此時 docker images 就會出現 nginx 鏡像信息,就說明 安裝nginx鏡像成功;
(4) 接下來 簡單的 運行一下 docker run --name nginx-test -p 8080:80 -d nginx - 命令 簡單解釋一下 --name + 容器名(自定義) -p +宿主機端口:容器端口 --d 后台運行 -- nginx 鏡像名稱 - 有其他docker命令不明白的,docker -h 查看幫助手冊;
(5) 此時現在 宿主機IP+ 宿主機端口 訪問就能看到 Welcome to nginx 頁面。
二、拷貝nginx 配置文件夾和html文件
(1) 也可以自己去創建,文件夾拷貝出來之后,就可以刪掉容器,這個nginx-test。
三、搭建nginx服務器
(1) 准備搭新建nginx容器(宿主) docker run -d -it -p 8080:80 --name nginx8080 -v ~/conf:/etc/nginx -v ~/www:/usr/share/nginx/html nginx -v 是掛載的意思,將宿主機的文件映射到容器中;
(2) 更改html內容,查看掛載是否生效
(3) 再准備復制三個配置文件,這個文件多少可以根據多少個子級群創建。
① docker run -d -it -p 8081:80 --name nginx8081 -v ~/conf1:/etc/nginx -v ~/www1:/usr/share/nginx/html nginx
② docker run -d -it -p 8082:80 --name nginx8082 -v ~/conf2:/etc/nginx -v ~/www2:/usr/share/nginx/html nginx
③ docker run -d -it -p 8083:80 --name nginx8083 -v ~/conf3:/etc/nginx -v ~/www3:/usr/share/nginx/html nginx
四、配置nginx default.cnf 進行負載均衡
(1) 目前為止,一共有4台 nginx 服務器,分別是端口8080,8081,8082,8083
查看網絡詳細信息docker network inspect adea3aa507d4 (bridge 虛擬網卡)
(2) 配置以下信息
Upstream 主要作用就是負載均衡,就是大概類似輪詢集群進行負載,weight用來分配策略,就是權重級別設置。分別對應1:2:2
配置完成以后進入主服務器容器 重啟服務器
五、進行測試服務器請求權重比例
(1) 然后退出,分別修改三台服務器的html內容
(2) 可以用命令進行測試、也可以訪問網頁進行測試, 服務器的請求概率就是我們前面設定的 1:2:2比例
End ----------------------------------------------