Nginx+Docker在一台服务器上模拟实现负载均衡
负载均衡是网站解决高并发、海量数据问题的常用手段。
通过负载均衡调度服务器,将来自浏览器的访问请求分发到应用服务器集群中的任何一台服务器上。
如果有更多的用户,就在集群中加入更多的应用服务器,使应用服务器的负载压力不再成为整个网站的瓶颈。
一般负载均衡常用LVS+keepalived+nginx实现。
现在利用Docker可以十分方便的在一台服务器上简单模拟负载均衡。
环境准备
- 在服务器中搭建一个Nginx环境
- docker安装2个新的Nginx环境
- 新建2个项目路径和文件
vi /var/www/test/data1/index.html
1 | this is index1 |
vi /var/www/test/data2/index.html
1 | this is index2 |
通过负载均衡,随机访问这2个项目
docker安装nginx
1 | docker pull nginx |
启动2个nginx
1 | docker run --name nginx-test -d -p 8081:80 -v /var/www/test/data1:/usr/share/nginx/html nginx |
查看docker ps
修改原服务器nginx配置文件
vi nginx.conf
在http{}
添加对应代码
1 | upstream docker_nginx { |
其中docker_nginx
为自定义名字,在下面配置中需要对应
weight越大,权重越高,被分配的几率越大
vi vhost/test.conf
1 | server{ |
service nginx restart
测试
访问test.pangxieke.com·有时候输出index1,有时候输出index2,证明配置成功!
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 螃蟹壳!