目录
一、nginx实现负载均衡整个流程
1、先将配置文件写入到自己的主机中
注意:文件放置位置应该是/home/nginx中,而不是放置在/etc/nginx中,当然这三个文件是自己手动创建的。
conf.d中文件中的default.conf文件:
#服务器的集群(一个集群中含有三台服务器)
upstream tomcatList { #服务器集群名字
server 172.18.0.5(此处是容器的地址):8081 weight=1; #服务器1 weight是权重的意思,权重越大,分配的概率越大
server 172.18.0.3:8081 weight=2; #服务器2 weight是权重的意思,权重越大,分配的概率越大
server 172.18.0.4:8081 weight=2; #服务器2 weight是权重的意思,权重越大,分配的概率越大
}
server {listen 80;
server_name www.zking.com;location / { (主机进入的页面)
root /etc/nginx/html/;
index index.html index.htm;
}error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~^/api/ {
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://tomcatList;
proxy_redirect default;
}}
html文件夹:
2、拉取nginx镜像
1、拉取镜像
docker pull nginx
2、依赖最新镜像创建一个本地镜像
docker run -it –name nginx(定义名字) -p 8080:80 nginx:latest(这是nginx最新版本)
3、依赖最新镜像创建一个本地镜像
docker build -t nginx nginx:latest .
3、进行目录挂载
docker run -itd \
–name nginx02 \
-v /home/nginx/conf.d:/etc/nginx/conf.d \ (以下是将/home/nginx的内容挂载到对应的目录下,注意位置千万不能搞错)
-v /home/nginx/html:/etc/nginx/html \
-v /home/nginx/log:/usr/log/nginx \
-p 8081:80 \
nginx
第一个V:挂载nginx的主配置文件,以方便在宿主机上直接修改容器的配置文件
第二个V:挂载容器内nginx的日志,容器运行起来之后,可以直接在宿主机的这个目录中查看nginx日志
第三个V:挂载静态页面目录
4、创建三个容器,分别依赖于nginx镜像创建
docker run -itd(后台运行) –name spring02(容器名字) -p 8082(映射地址):8081(本机地址) spring:2.0(镜像版本号)
docker run -itd –name spring03 -p 8083:8081 spring:2.0
docker run -itd –name spring04 -p 8084:8081 spring:2.0
这边就已经实现负载均衡了
5、进行测试,开启三个端口进行测试,实现nginx轮循
spring01:
spring02:
spring03:
进行测试:
spring01:
spring02:
spring03:
可以看出每台服务器都有次数的访问,说明nginx进行了轮循,而访问服务次数取决于default.conf文件中的权重
#服务器的集群
upstream tomcatList { #服务器集群名字
server 172.17.0.5:8081 weight=1; #服务器1 weight是权重的意思,权重越大,分配的概率越大
server 172.17.0.6:8081 weight=2; #服务器2 weight是权重的意思,权重越大,分配的概率越大
server 172.17.0.4:8081 weight=2; #服务器2 weight是权重的意思,权重越大,分配的概率越大
}
server {listen 80;
server_name www.zking.com;location / {
root /etc/nginx/html/;
index index.html index.htm;
}error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~^/api/ {
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://tomcatList;
proxy_redirect default;
}}
当然这是集群的方式进行访问和测试,还可以有单个方式进行访问和测试,只要将defalut.conf文件进行更改即可
今天的知识就分享到这了,希望能够帮助到你!