本篇文章给大家分享的是有关docker中怎么搭建一个nginx负载均衡服务器,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
1.什么是负载均衡
负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。
2.常用负载均衡
负载均衡常用的实现方式为两种类型(一种为:硬件实现,另一种为:软件实现)
1)硬件实现
硬件实现负载均衡有很多,都是商用,而且价格比较贵
2)软件实现
软件实现是基于linux的负载均衡策略,如:nginx、LVS等。 (今天我们来说一下通过软件(nginx)实现)
3.通过nginx实现负载均衡服务器
由于我是在本机实现,所以我在这里使用docker的nginx镜像实例化几个nginx容器来模拟
1)先pull一个nginx
docker pull nginx:1.15.12
2)实例化一个容器(运行)
d ocker run --name master-nginx -p 9080:80 -d nginx:1.15.12
--name 这个nginx容器的名字
-p 容器的80端口映射到本机的9080端口
-d 后台守护进程运行
3)进入这个容器配置nginx的负载均衡
3-1)在这里我们进入nginx的配置文件
cd /etc/nginx/conf.d
vim default.conf (可能会提示vim不存在,这时候执行 apt-get update 更新一下包,然后执行 apt-get install vim 安装vim后再次运行vim nginx.conf)
添加:
upstream myPond {
server 127.0.0.1:8000 weight=3;
server 127.0.0.1:8001;
server 127.0.0.1:8002;
server 127.0.0.1:8003;
}
location修改为: location / { proxy_pass http://myPond; }
保存,重启容器
docker restart 容器id
在这里我们的负载均衡器就配置完成了
4)
访问 http://127.0.0.1:9080/
提示:
An error occurred.
Sorry, the page you are looking for is currently unavailable.
Please try again later.
If you are the system administrator of this resource then you should check the error log for details.
Faithfully yours, nginx.
这里是因为我们还没有配置:
server 127.0.0.1:8000;
server 127.0.0.1:8001;
server 127.0.0.1:8002;
server 127.0.0.1:8003;
1)再次进入nginx容器
docker exec -it 容器id /bin/bash
2)创建多站点
进入nginx多站点配置文件夹
cd /etc/nginx/conf.d/
vim 创建 a.conf、b.conf、c.conf、d.conf
内容分别为:
server {
listen 8000;
location / {
index index.html;
root /home/www/a;
}
}
server {
listen 8001;
location / {
index index.html;
root /home/www/b;
}
}
server {
listen 8002;
location / {
index index.html;
root /home/www/c;
}
}
server {
listen 8003;
location / {
index index.html;
root /home/www/d;
}
}
我们在一下文件中分别写入:
/home/www/a/index.html
<h2>Server:127.0.0.1:8000</h2>
/home/www/b/index.html <h2>Server:127.0.0.1:8001</h2>
/home/www/c/index.html <h2>Server:127.0.0.1:8002</h2>
/home/www/d/index.html
<h2>Server:127.0.0.1:8003</h2>
最后我们测试一下
以上就是docker中怎么搭建一个nginx负载均衡服务器,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。