用docker尝试nginx的负载均衡

自己用一台阿里云服务器的docker配置两台nginx,再用本机的nginx做负载到三台机器上,并测试性能.

1、docker实例化nginx容器两个:

第一个容器

docker run -p 9090:80 --name nginx_one -v /home/nginx_one:/usr/share/nginx/html -d 7e156d496c9f

这里的最后面一个参数是镜像ID,当然你可以直接使用 nginx,他会自动拉取最新版镜像创建容器

第二个容器

docker run -p 9090:80 --name nginx_two -v /home/nginx_two:/usr/share/nginx/html -d 7e156d496c9f

以上让两个容器分别监听不同的两个端口

看看容器是否在运行,如果运行正常,在你的home文件夹下面nginx_one和nginx_two各个建立一个index.html 主要为了区分一下请求具体被分发到哪个端口了

写好了在服务器 curl 一下看看是否有输出

curl http://127.0.0.1:8080

2、本地Nginx配置一下,将80端口负载到8080和9090两个端口上

我也不太熟悉Nginx负载均衡具体权重,直接Nginx中文文档搬过来的

http://www.nginx.cn/doc/

直接把 nginx.conf 里面的 http 替换就ok啦

http {
    upstream myproject {
        server 127.0.0.1:8080 weight=3;
        server 127.0.0.1:9090;
    }

    server {
        listen 80;
        server_name www.domain.com;
        location / {
            proxy_pass http://myproject;
        }
    }
}

 

posted @ 2019-02-15 10:10  许伟强  阅读(216)  评论(0编辑  收藏  举报