3D PPT Linux 部署指南
3D PPT 生产部署的重点是:先构建前端,把产物放入后端 `public` 目录,再启动 Go 后端统一提供页面、API 和上传资源。
部署结构
推荐单机部署:Nginx 对外提供 HTTPS,转发到本机 `3d-ppt-backend`。后端连接 MySQL,并保存上传资源。
用户浏览器HTTPSNginx转发Go 后端连接MySQL / uploads
1. 准备环境
OS
Linux
Ubuntu / Debian / CentOSGo
Go
1.22+JS
Node.js
20 LTS+DB
MySQL
8.0 推荐apt update apt install -y nginx mysql-server git unzip build-essential node -v npm -v go version
2. 放置项目文件
建议把源码放在固定目录,部署和排障都更清晰。
/opt/sceneview-ppt ├── 3d-ppt-editor └── 3d-ppt-backend
3. 初始化 MySQL
mysql -uroot -p
CREATE DATABASE `3d_ppt_backend` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER '3d_ppt_user'@'127.0.0.1' IDENTIFIED BY 'change_this_password'; GRANT ALL PRIVILEGES ON `3d_ppt_backend`.* TO '3d_ppt_user'@'127.0.0.1'; FLUSH PRIVILEGES;
cd /opt/sceneview-ppt/3d-ppt-backend mysql -u3d_ppt_user -p 3d_ppt_backend < init.sql
4. 配置后端
核心配置是端口、MySQL 连接串、静态目录和上传目录。
{
"port": "3200",
"mysqlDsn": "3d_ppt_user:change_this_password@tcp(127.0.0.1:3306)/3d_ppt_backend?charset=utf8mb4&collation=utf8mb4_unicode_ci&parseTime=true&loc=Local",
"uploadDir": "uploads",
"publicDir": "public"
}配置文件通常是 `3d-ppt-backend/config.json`。如果你的版本支持环境变量,也可以用 `PPT_BACKEND_PORT` 和 `PPT_MYSQL_DSN` 覆盖。
5. 构建前端和后端
构建前端
cd /opt/sceneview-ppt/3d-ppt-editor npm install npm run build
前端构建产物应进入 `3d-ppt-backend/public`,生产环境由后端统一承载。
编译后端
cd /opt/sceneview-ppt/3d-ppt-backend go mod download go build -o 3d-ppt-backend mkdir -p uploads
6. 启动服务
先前台验证
cd /opt/sceneview-ppt/3d-ppt-backend ./3d-ppt-backend curl -I http://127.0.0.1:3200/
再交给 systemd
vim /etc/systemd/system/sceneview-ppt.service
[Unit] Description=SceneView 3D PPT Backend After=network.target mysql.service [Service] Type=simple WorkingDirectory=/opt/sceneview-ppt/3d-ppt-backend ExecStart=/opt/sceneview-ppt/3d-ppt-backend/3d-ppt-backend Restart=always RestartSec=5 [Install] WantedBy=multi-user.target
systemctl daemon-reload systemctl enable sceneview-ppt systemctl start sceneview-ppt systemctl status sceneview-ppt
7. 配置 Nginx
公网建议只开放 80 / 443,Nginx 转发到后端 3200 端口。
server {
listen 80;
server_name ppt.example.com;
client_max_body_size 200m;
location / {
proxy_pass http://127.0.0.1:3200;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}nginx -t systemctl reload nginx
上线检查
查看 3D PPT 产品能力
部署完成后,3D PPT 可以用于在线编辑、三维内容演示、资源上传和私有化交付。