docker部署前后端分离项目

服务器中使用到docker,将前后端分别创建成docker容器进行部署

介绍

前端:nginx部署静态页面,监听端口 80
后端:Go部署,监听端口8080

我需要使用浏览器访问ip地址80端口访问到index静态页面,同时对于一些网络请求也需要通过80端口进入到服务器。

前期准备

安装docker同时创建好所需要容器
安装教程可以参考WSL2上使用docker安装nginx
在这里插入图片描述
我这里server是后端,nginx部署前端
服务器没有向外开通8080端口,因此无法直接访问8080端口

为方便起见可以使用docker创建个网络,将所需要的容器放到同一网络名下,方便后期管理
在这里插入图片描述
这里我通过

docker network create [网络名称]

创建网络
通过

docker network connect [网络名称] [容器名称]

将需要的容器连入同一网络下

通过docker inspect [容器名]可以看到网络信息在这里插入图片描述
在这里插入图片描述
可以看到server和nginx容器都在同一网络下

前端请求路径

由于服务器8080端口没有向外开放,只能80端口请求
可以使用nginx的反向代理服务
将请求改成一个识别标志,通过nginx监听到后代理到后端的8080端口上,此时因为nginx和server是在同一网络下,可以实现请求。
在这里插入图片描述
请求通过/api实现,比如我这里之前请求数据是http://ip地址:端口号 改成 /api 通过/api来标识代理符号 ,距离代理在下面nginx中配置
在这里插入图片描述

nginx代理配置

进入nginx配置文件
在这里插入图片描述
修改
在这里插入图片描述
由于之前设置过网络,这里就可以直接使用容器名字当ip了,当然你也可以使用server的ip地址

注意这里 /api/ 的反斜杠一定要配好,不然可能会路径出现问题,如果出现问题,可以通过docker日志查看后端的情况。

配置完成后
重新加载nginx通过

docker exec -it [nginx的容器名字] nginx -s reload

注意每次修改配置文件后都需要重新加载下

完成

配置完成数据获取成功
在这里插入图片描述在这里插入图片描述
后端日志可以看到确实请求
在这里插入图片描述

至此部署结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值