阿里云服务器 使用docker搭建nginx集群

时间:2024-03-06 17:24:58

简介

  • 在同一台服务器上(阿里云服务器),使用docker搭建nginx集群。
  • 创建三个nginx容器,其中一台需要进行宿主主机的端口映射作为主服务器,其余容器不需要端口映射,也不需要配置桥接网络,默认即可。

实操

创建容器

  • 获取镜像:docker pull daocloud.io/nginx

  • docker run -itd --name nginx_master -p 8080:80 daocloud.io/nginx /bin/bash创建nginx主服务容器,将容器的80端口映射到宿主主机的8080端口。

  • docker exec -it nginx_master bash进入容器,/usr/sbin/nginx启动nginx

  • 创建两个从nginx容器:

    docker run -itd --name nginx_slave1 daocloud.io/nginx /bin/bash
    docker run -itd --name nginx_slave2 daocloud.io/nginx /bin/bash

  • 进入从nginx容器,启动(和主nginx一样启动,操作)(一定要都启动

  • docker ps 查看以运行容器

  •  

  • 打开一个终端查看容器的网络信息: 
  1. docker network ls
  2. docker network inspect 对应你实际NETWORK ID
  3.  

  • 进入 nginx_master :docker exec -it nginx_master bash
  • 修改配置文件 :vim /etc/nginx/conf.d/default.conf (这是可能会报 :-bash: yum: command not found  运行:apt-get update & apt-get install vim 

  • upstream 172.17.0.2 {
      server 172.17.0.3;
      server 172.17.0.4;


    server {

        listen       80;
        server_name  localhost;


        location / {
        proxy_pass http://172.17.0.2;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    }

  • service restart nginx重启服务。

 

从nginx配置

  • 在两个slave容器中,分别修改默认站点的首页,添加各自的ip来标识。
    vim /usr/share/nginx/html/index.html

  •  

  •  

效果图: