52 lines
3.1 KiB
Markdown
52 lines
3.1 KiB
Markdown
# 生产环境安装与部署脚本实施记录
|
||
|
||
## 修改内容
|
||
- 新增生产环境安装脚本 `bin/prod/install_env.sh`
|
||
- 新增生产环境部署脚本 `bin/prod/deploy_release.sh`
|
||
- 新增生产环境 Java 管理脚本 `bin/prod/restart_java.sh`
|
||
- 两份脚本需要同步放置到生产容器 `/home/webapp` 目录,便于在目标环境直接执行
|
||
- 部署脚本改为复用独立的 Java 管理脚本完成后端启停
|
||
- 安装脚本固定将 Java 安装到 `/home/webapp/env/java`,将 Nginx 安装到 `/home/webapp/env/nginx`
|
||
- 安装脚本会创建 `/home/webapp/loan-pricing` 下的 `backend`、`frontend`、`backup`、`logs`、`run`、`tmp` 目录,并写入 Nginx 配置
|
||
- 部署脚本约定发布包内必须包含 1 个后端 `jar` 和 1 个 `dist.zip`
|
||
- 部署脚本在发布前会备份旧版后端 jar 与旧版前端 `dist` 目录,再完成替换、启动后端和重载 Nginx
|
||
- Nginx 前端监听端口固定为 `63311`,后端应用启动端口固定为 `63310`
|
||
|
||
## 环境勘察结论
|
||
- 已连接生产服务器 `116.62.17.81:9444` 并进入 `loan-pricing` 容器核对目录结构
|
||
- 容器内实际工作目录为 `/home/webapp`
|
||
- 已确认当前容器中存在安装包:
|
||
- `/home/webapp/openjdk-21.0.2_linux-aarch64_bin.tar.gz`
|
||
- `/home/webapp/nginx-1.20.2.tar.gz`
|
||
- 已确认当前容器尚不存在 `/home/webapp/loan-pricing`
|
||
- 已确认当前容器当前没有运行中的 Java 或 Nginx 进程
|
||
- 当前被勘察容器基础镜像为 Ubuntu;但脚本已按需求改为基于 `yum` 安装系统依赖,适配正式生产环境约束
|
||
- 已确认当前容器无法直接安装原生 `yum` 包,但系统仓库提供 `dnf` 包,可通过 `dnf` 提供 `yum` 兼容执行入口
|
||
|
||
## 验证结果
|
||
- 已执行 `sh -n bin/prod/install_env.sh`
|
||
- 已执行 `sh -n bin/prod/deploy_release.sh`
|
||
- 已将两份脚本同步到生产 `loan-pricing` 容器:
|
||
- `/home/webapp/install_env.sh`
|
||
- `/home/webapp/deploy_release.sh`
|
||
- 已将 Java 管理脚本同步到生产 `loan-pricing` 容器:
|
||
- `/home/webapp/restart_java.sh`
|
||
- 已在容器内执行 `ls -l /home/webapp/install_env.sh /home/webapp/deploy_release.sh /home/webapp/restart_java.sh`,确认三份脚本均已落盘且具备可执行权限
|
||
- 已在容器内执行:
|
||
- `sh -n /home/webapp/install_env.sh`
|
||
- `sh -n /home/webapp/deploy_release.sh`
|
||
- `sh -n /home/webapp/restart_java.sh`
|
||
三份线上脚本语法校验均已通过
|
||
- 已确认 Ubuntu 24.04 仓库中 `yum` 包候选为空,`dnf` 包候选为 `4.14.0-4.1ubuntu1`
|
||
- 已在生产 `loan-pricing` 容器执行 `apt-get install -y dnf dnf-plugins-core`
|
||
- 已在生产 `loan-pricing` 容器创建 `yum` 兼容入口:
|
||
- `/usr/local/bin/yum -> /usr/bin/dnf`
|
||
- 已执行 `yum --version`,返回 `4.14.0`
|
||
- 已人工核对脚本中的关键路径、端口与部署约束:
|
||
- Java 安装目录 `/home/webapp/env/java`
|
||
- Nginx 安装目录 `/home/webapp/env/nginx`
|
||
- 项目部署目录 `/home/webapp/loan-pricing`
|
||
- 前端端口 `63311`
|
||
- 后端端口 `63310`
|
||
- 由于当前已连接勘察容器为 Ubuntu 24.04,不具备本次脚本要求的 `yum` 安装前提,因此未在该容器直接执行安装流程,仅完成语法校验与逻辑核对
|