前言
Docker下部署多個Nginx進行負載均衡,我這次實操的思路是使用三個Nginx。其中一個Nginx起負載均衡的作用,叫做nginx-lb
,單獨一個配置文件。另外2個Nginx起真正的轉發(fā)作用,叫做nginx1
和nginx2
,他們共享同一個配置文件,思路圖如下。
接下來我們直接進行實操演示。
下載Nginx
docker pull nginx:1.20
復制出配置文件
第一步:啟動容器
root@735aa48ca36e:/# docker run -d --name test-nginx nginx:1.20
第二步:復制配置到宿主機
#復制文件出來到宿主機
docker cp test-nginx:/etc/nginx/ /home/nginx/
docker cp test-nginx:/var/log/nginx /home/nginx/nginx/logs
#專門再復制一份出來給nginx-lb使用
docker cp test-nginx:/etc/nginx/ /home/nginx/lb
修改配置
nginx-lb里的nginx.conf
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
#重點以下配置
upstream nginx-lb{
server 192.168.40.128:10086; #nginx1
server 192.168.40.128:10010; #nginx2
}
server {
listen 80;
listen [::]:80;
server_name localhost;
#access_log /var/log/nginx/host.access.log main;
location / {
proxy_pass http://nginx-lb; #負載到nginx1 和 nginx2 上
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
#include /etc/nginx/conf.d/*.conf;
}
啟動容器
啟動nginx1
docker run -d --name nginx1 -v /home/nginx/nginx:/etc/nginx -p 10086:80 nginx:1.20
啟動nginx2
docker run -d --name nginx2 -v /home/nginx/nginx:/etc/nginx -p 10010:80 nginx:1.20
啟動nginx-lb
docker run -d --name nginx-lb -v /home/nginx/lb:/etc/nginx -p 10000:80 nginx:1.20
演示效果
停止掉其中一個nginx
docker stop nginx1
繼續(xù)訪問http://192.168.40.128:10000
,發(fā)現(xiàn)還是正常。
繼續(xù)停掉另一個nginx
docker stop nginx2
這時候訪問,會發(fā)現(xiàn)提示不支持服務了。
我們再重新啟動其中一個nginx文章來源:http://www.zghlxwxcb.cn/news/detail-793676.html
docker start nginx1
發(fā)現(xiàn)服務又正常了!!!文章來源地址http://www.zghlxwxcb.cn/news/detail-793676.html
到了這里,關于【Docker】Docker容器實戰(zhàn)部署多個Nginx實現(xiàn)負載均衡和高可用的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!