Docker nginx部署

导读:本篇文章讲解 Docker nginx部署,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

一、nginx发布准备

1、下载nginx镜像

docker pull nginx:latest

可以不加latest,这样下载也是默认最新版

2、下载spring2.0

Docker nginx部署

3、下载nginx容器

命名为nginx01

docker run -itd –name nginx01 -p 8081:80 nginx

现在能访问nginx了,映射nginx镜像成功

Docker 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;
    }

}

进入nginx容器当中

docker exec -it nginx bash 

Docker nginx部署

在/etc/nginx 配置nginx环境

修改conf.d里面的default.conf

没有安装vim,修改不了

Docker nginx部署

退出Ctrl+D

删除所有容器:

Docker nginx部署

将配置文件挂载到容器中去

(1)新建nginx目录:在进入nginx目录

Docker nginx部署

在nginx中新建三个文件夹  log  html  conf.d

conf.d中的文件是用上面发的那个文件

Docker nginx部署

新建nginx01容器

docker run -itd \
–name nginx01 \
-v /home/nginx/conf.d:/etc/nginx/conf.d \
-v /home/nginx/html:/etc/nginx/html \
-v /home/nginx/log:/usr/log/nginx \
-p 8081:80 \
nginx

Docker nginx部署

这个时候再访问8081端口,界面如下

Docker nginx部署

二、nginx反向代理

点击后台访问报错

Docker nginx部署

解决这一问题:

1、 新建spring02容器并启动:

Docker nginx部署

此时浏览器再次访问

Docker nginx部署

2、修改default.conf:

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/ {
proxy_pass  http://172.17.0.3:8081;
}

}

3、新开服务进入容器更新数据

查看配置是否出错

Docker nginx部署

重新读取配置文件

Docker nginx部署

三、nginx实现负载均衡

1、创建集群

docker run -itd –name spring01 -p 8082:8081 spring:2.0

docker run -itd –name spring02 -p 8083:8081 spring:2.0

docker run -itd –name spring03 -p 8084:8081 spring:2.0

查看我的容器

Docker nginx部署

修改default.conf文件

#服务器的集群
upstream tomcatList {  #服务器集群名字
    server 172.17.0.3:8081 weight=1;  #服务器1   weight是权重的意思,权重越大,分配的概率越大
    server 172.17.0.4:8081 weight=1;  #服务器1   weight是权重的意思,权重越大,分配的概率越大
    server 172.17.0.5:8081 weight=1;  #服务器1   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;
       
    }

}

此时我的后台能够访问了

Docker nginx部署

查看负载均衡轮回

开启三个端口,分别创建spring01-spring03

之后在前端点击后台访问时,就可以看到到底是访问了谁

注意:访问服务次数取决于default.conf文件中的权重

Docker nginx部署

取决于weight属性

希望能帮助你,bye~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/12190.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!