Docker nginx部署

本文介绍了如何使用Docker部署Nginx,包括下载镜像,配置反向代理以解决后台访问问题,以及设置负载均衡集群。通过创建多个Spring容器并配置Nginx的default.conf,实现了请求的轮转分发,权重可根据需求调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、nginx发布准备

1、下载nginx镜像

docker pull nginx:latest

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

2、下载spring2.0

3、下载nginx容器

命名为nginx01

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

现在能访问nginx了,映射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 

在/etc/nginx 配置nginx环境

修改conf.d里面的default.conf

没有安装vim,修改不了

退出Ctrl+D

删除所有容器:

 

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

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

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

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

 

 新建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

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

二、nginx反向代理

点击后台访问报错

解决这一问题:

1、 新建spring02容器并启动:

 此时浏览器再次访问

 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、新开服务进入容器更新数据

查看配置是否出错

  重新读取配置文件

 

 

三、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

查看我的容器

修改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;
       
    }

}

 此时我的后台能够访问了

 查看负载均衡轮回

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

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

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

取决于weight属性

 希望能帮助你,bye~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值