构建后台管理系统:部署上线
等创建功能做出的系统在你自己电脑上跑通之后,两句话就够了。
在之前的开发中,系统大部分直接跑在你电脑上,只有数据仓库跑在它的“盒子”里。部署 就是把整个系统——数据仓库、缓存、后台干活的服务和网页——打包在一起,让另一台 电脑什么都不用安装就能跑起整套东西。具体怎么实现你不需要懂,Agent 会按项目的标准 方式去做。
成品里的代码是在打包过程中编译的,这样它才能落到一台什么编程工具都没装的机器上。 还在改代码时不要走这条路;在自己电脑上把它跑起来一直是 几秒钟的事,那才是日常开发用的。
第 1 步 —— 把整个系统打包成“换台电脑也能跑”
提示词
把整个后 台管理系统打包成在一台什么都没装的电脑上也能运行的样子,然后把打包好的 版本跑起来。项目做这件事的标准方式通常需要的设置,你都按标准配上,包括在国内网络 环境下需要的那些。如果我已经开着的什么东西挡了路,你看着合理处理。让它一直跑着, 全部准备好了告诉我。
具体需要什么,Agent 心里有数:从你的源码构建两个应用、启动数据仓库和缓存、配好适合 本地区的下载源,再加一个让各部分互相找到的小文件。这些你一个字都不用敲。
你应该看到: Agent 告诉你打包好的系统已经跑起来了。底层有四个部分在运行, 如果你好奇或出了问题,可以让它把清单给你,确认正好是四个:
| 部分 | 机器上的地址(这些不用你打开) |
|---|---|
| 数据仓库 | 3306 |
| 缓存 | 6379 |
后台干活的服务(jeecg-boot-system) | 8080 |
管理网页(jeecg-boot-web-admin) | 8807 |
第一次打包要花好几分钟——打包时编程工具都在成品里面下载。长时间没动静是正常的; 报错才不正常。
数据仓库也跑在同一个打包好的系统里时,设置里必须让服务通过 mysql 和 redis 这
两个名字去找它们,而不是去找宿主机。设错了,服务会悄悄忽略刚启动好的数据仓库——
看着像网络问题,其实是设置问题。标准打包会处理好;留这条是为了万一出问题,你能
认出这个症状。
数据仓库第一次启动要把整个结构导进去,比服务预期的慢。服务起得太早、连接失败后会 自动被重新拉起,直到数据仓库能响应。重启几次是预期行为;一直重启停不下来才是故障。
如果创建项目时直接跑在你电脑上的系统还在运行,两份东西会 抢同一个地址。打包前先停掉那几份;已经待在盒子里的数据仓库可以继续跑——打包好的 系统会直接复用它。
第 2 步 —— 打开它,确认能用
成品网页的地址是 http://localhost:8807。以 8080 结尾的地址属于后台干活的服务,
本来就不是给浏览器打开的——你唯一会用到的页面就是这个网页。
提示词
打开打包好的管理网页,用我开发时一直用的账号登录。检查我们在 创建功能里加的“发布”开关还在,而且能用。
你应该看到: 登录页,然后是开发时看到的那些表格,包括你新加的那一列。打包好的 各部分通过自己的内部网络互相通信,不需要再配任何东西。
放到另一台服务器上时,在那台机器上用同一句提示词:把项目文件夹拷过去,确认装好 了运行盒子用的软件,然后贴进去。成品里什么都齐了,那台服务器不需要任何编程工具—— 有文件夹和运行盒子的软件,就是全部前提。
卡住了怎么办
你不需要诊断任何东西。找到你的症状,说那句话:
| 你看到什么 | 这样说 |
|---|---|
| 打包慢得像爬,或者 像卡住了 | “把下载源换成适合我所在地区的镜像,从头再来” |
| 服务一直重启、报连不上数据仓库 | “检查数据仓库和缓存的主机名设置——在同一个打包好的系统里必须是 mysql 和 redis——然后重新启动” |
| 第一次启动重启几次,然后稳住了 | 不用做什么——等结构导完;只有一直停不下来才是故障 |
| 报“地址已被占用” | “停掉还直接跑在我电脑上的开发副本,或者在设置文件里改地址——别临时用别的办法改” |
| 网页每次都在不一样的样式文件上构建失败 | “检查最外层 AGENTS.md 里要求的那个构建设置——不要改版本锁定” |
| 报内存错误但你知道不是内存问题,或者数据仓库第一次启动就死 | “这是最外层 AGENTS.md 里说的版本锁定问题。读一下,别动锁定的镜像版本” |
| 拉取标准镜像失败或超时 | “给运行盒子的软件配上代理——继续用标准镜像,不要换成第三方的” |
| 改了密码之后数据仓库报“拒绝访问” | “密码只在存储空间为空时读取一次——把存下来的数据重置后重新开始,这会清掉里面原来的东西” |
| Agent 很久没动静了 | “看看你现在进行到哪一步了,告诉我此刻正在发生什么” |