自己用一台阿里云服务器的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; } } }