跳到主要内容

官网系统部署指南


一、环境要求

依赖版本说明
Java JDK17+后端运行环境
MySQL8.0+数据库
Redis7.x缓存
Node.js18+前台 SSR
Maven3.8+Java 构建
Nginx1.25+反向代理(可选)

二、后端部署

2.1 编译构建

cd anli-service-api

# 全量编译(含 website 模块)
mvn clean package -DskipTests -pl yudao-module-website,yudao-server -am

# 启动
java -jar yudao-server/target/yudao-server.jar --spring.profiles.active=prod

2.2 生产配置

application-prod.yml 关键配置:

server:
port: 48080

spring:
datasource:
url: jdbc:mysql://localhost:3306/yudao?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username: root
password: ${DB_PASSWORD}
data:
redis:
host: ${REDIS_HOST}
port: 6379
password: ${REDIS_PASSWORD}

2.3 Docker 部署

FROM eclipse-temurin:17-jre-jammy
WORKDIR /app
COPY yudao-server/target/yudao-server.jar app.jar
EXPOSE 48080
ENTRYPOINT ["java", "-jar", "app.jar"]
# docker-compose.yml
services:
mysql:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
MYSQL_DATABASE: yudao
redis:
image: redis:7.2-alpine
backend:
build: ./anli-service-api
ports:
- "48080:48080"
depends_on: [mysql, redis]

三、前台 SSR 部署

3.1 构建

cd jiudi-official-web

# 安装依赖
pnpm install

# 构建生产版本
pnpm build

# 构建产物在 .output/ 目录

3.2 启动

# 使用 Node.js 直接运行
node .output/server/index.mjs

# 或使用 PM2 守护进程
pm2 start .output/server/index.mjs --name jiudi-official-web

3.3 环境变量

# 生产环境 API 地址
NUXT_PUBLIC_API_BASE=https://api.jiudi.com

四、Nginx 反向代理

# 前台 SSR 代理
server {
listen 80;
server_name www.jiudi.com;

location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}

location /app-api/ {
proxy_pass http://127.0.0.1:48080;
proxy_set_header Host $host;
}

location /admin-api/ {
proxy_pass http://127.0.0.1:48080;
proxy_set_header Host $host;
}
}

五、管理后台部署

cd anli-admin-vben/apps/web-antd

# 构建
pnpm build

# 构建产物在 dist/ 目录,部署到 Nginx
# 将 dist/ 下文件复制到 /usr/share/nginx/html/admin/

六、数据库初始化

-- 创建数据库
CREATE DATABASE IF NOT EXISTS yudao
DEFAULT CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

-- 执行初始化脚本
-- 1. yudao-server/sql/ 下的框架基础表
-- 2. yudao-module-website 对应的 website_* 表

七、监控与日志

# 查看后端日志
tail -f yudao-server/logs/yudao.log

# 查看前台日志
pm2 logs jiudi-official-web

# API 健康检查
curl https://api.jiudi.com/actuator/health