跳转到内容

8:部署服务器

后端Banner

上一届的武学长毕业前把这个项目丢给了我。他说大部分代码已经写完了,不过还没有部署到服务器上。

由于种种原因。我接下来有别的事要忙,部署这个项目的重任就交给你了😁


本题目所涉及文件为一个小型留言板项目,其中包含前端静态页面、已经编译完成的 Java 后端 jar 包以及数据库初始化脚本。由于项目缺少完整的部署配置,目前无法直接运行。你需要补全部署相关文件,完成 Docker 容器化部署,最终使系统能够正常提供服务。

首先,从Github仓库拉取项目文件。

仓库地址:https://github.com/Carinsay/Glimmer08.git

本项目的后端代码已整合为jar包,前端代码也已提供,现在需要你使用在前一道题学到的技术,把项目真正部署到服务器上并成功运行。

你可以选择如下几个方案完成本题:

方案 A:云服务器部署(加分项)

Section titled “方案 A:云服务器部署(加分项)”

如果你拥有云服务器,可以直接部署:

  • 腾讯云 / 阿里云 / 华为云学生服务器(腾讯云和阿里云的学生身份能分别免费领取1个月和3个月的免费服务器)(推荐)
  • GitHub Student Pack 提供的相关资源
  • 其他 Linux 服务器(Azure.microsoft)

要求:

  • Ubuntu (推荐) 或其他 Linux 发行版均可
  • 最终能够通过公网 IP 访问项目

如果没有服务器,可以使用 VMware + Ubuntu

部署流程与服务器一致。

要求:

  • 项目能够在虚拟机内部正常访问
  • 提供浏览器访问截图即可

例如:

宿主机浏览器
|
Ubuntu 虚拟机
|
Docker Compose
|
留言板服务

如果没有 Linux 环境,也可以使用:

  • Windows Subsystem for Linux (WSL2)

要求:

  • 在 WSL 环境启动项目
  • 浏览器能够访问:
http://localhost

目标:让它能在你的服务器上正常跑起来,各项功能都正常运行


后端 jar 包、前端页面、数据库脚本都已经给你了,但 Docker 和 Nginx 的配置文件好像被武学长弄丢了,需要你自己写

你需要独立编写三个核心配置文件。

首先是后端目录下的 Dockerfile。

要求基于Java 17基础镜像,完成jar包的容器化打包与启动配置。

其次是Nginx的配置文件

需要完成反向代理设置,将根路径正确指向并返回前端静态页面文件,同时将接口路径准确转发至后端容器服务。

最后是根目录下的docker-compose.yml文件

需要统一编排数据库、后端和Nginx三个服务。 在编排时,必须配置正确的启动依赖关系,例如通过健康检查确保后端在数据库就绪后启动,并通过环境变量正确配置容器间的数据库连接。特别注意的是,必须为MySQL服务挂载数据卷以实现数据持久化。

在验收阶段,你需要进行基础功能测试。

启动服务后,在浏览器中访问应用,确认能够正常显示留言列表,并且可以成功发送新留言以及删除已有留言。完成增删操作后,将进入核心的持久化验收环节。你需要执行命令停止并彻底销毁所有容器,等待十秒后重新拉起所有服务。再次访问页面时,必须保证刚才新增的留言依然存在,且删除的留言没有恢复,以此证明持久化配置成功。

最后,请在 GitHub 创建项目仓库,将修复完善后的完整项目代码提交至远程仓库,并按照工程规范进行版本管理,保证提交记录清晰、合理。


请将下面内容整理为一份markdown文档提交。

  1. 你的 GitHub 仓库链接
  2. 网页成功访问与功能演示截图

选其中一个提交:

  • 公网访问地址以及访问成功的截图
  • 虚拟机浏览器访问截图
  • WSL 运行后浏览器访问截图
  1. 修改说明

列出你写过的配置文件:

文件修改内容
backend/Dockerfile编写后端镜像配置
docker-compose.yml编写服务编排配置
nginx.conf编写反向代理配置

提交点这里

出题人:出题人头像  王府井

QQ:3624089541

邮箱:3624089541@qq.com