在华芸内安装 Docker,运行两个 nginx,同时利用华芸系统 ADM 自带的 nginx 实现负载均衡。

操作过程中,会用到以下目录

  1. ADM 自带的 nginx 配置所在目录:/volume0/usr/builtin/etc/nginx
  2. Docker 挂载用于存放网页的目录:/volume1/Backups/Web/demo1

在 Docker 内运行两个 nginx 容器

docker run --name nginx-demo1 -d -p 8090:80 -v /volume1/Backups/Web/demo1:/usr/share/nginx/html nginx
docker run --name nginx-demo2 -d -p 8091:80 -v /volume1/Backups/Web/demo2:/usr/share/nginx/html nginx

说明:

  1. demo1 和 demo2 分别绑定到宿主机的 8090 和 8091 端口;
  2. demo1 和 demo2 用于存放网页的目录分别为 /volume1/Backups/Web/demo1/volume1/Backups/Web/demo2

利用宿主机上的 nginx 进行负载均衡

由于绑定的域名是docker.fengtalk.com,因此将创建一个名为docker.fengtlak.com.conf的配置文件,内容如下:

server {
   listen 8888;
   server_name docker.fengtalk.com;
   location / {
   proxy_redirect off;  
   proxy_set_header Host $host;  
   proxy_set_header X-Real-IP $remote_addr;  
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
   proxy_pass http://fengtalk;
 }
}

放于/volume0/usr/builtin/etc/nginx/sites-enabled目录下。
另外,我们需要将以下配置文件放于nginx.conf之中,否则会报错。

upstream fengtalk {                                 
    server 192.168.50.120:8090 weight=1;                
    server 192.168.50.120:8091 weight=1;                
} 

重新加载 nginx 的配置文件。

nginx -s reload

由于有公网IP地址,到路由器上进行端口转发即可访问到http://docker.fengtalk.com:8888/

文章目录