# 后端分离部署 本指南将帮助您独立部署 PPanel 后端服务,适用于前后端分离部署场景。 ## 概述 后端分离部署允许您将 PPanel 后端服务部署在独立的服务器上,提供 API 服务给前端应用。这种部署方式具有以下优势: - 🚀 独立扩展后端服务性能 - 🔒 更好的安全隔离 - 🌐 支持多前端实例连接同一后端 - 🛠️ 便于后端服务的独立维护和升级 ## 系统要求 ### 最低配置 - CPU: 1 核心 - 内存: 1 GB - 存储: 10 GB - 操作系统: Linux (推荐 Ubuntu 20.04+, Debian 11+, CentOS 8+) ### 推荐配置 - CPU: 2 核心以上 - 内存: 2 GB 以上 - 存储: 20 GB 以上 ## 部署方式 ### 方式一:Docker 部署(推荐) #### 1. 安装 Docker ```bash # Ubuntu/Debian curl -fsSL https://get.docker.com | sh # 启动 Docker 服务 sudo systemctl start docker sudo systemctl enable docker ``` #### 2. 创建配置文件 创建后端配置文件 `config.yaml`: ```yaml # 数据库配置 database: type: mysql host: localhost port: 3306 username: ppanel password: your_password database: ppanel # Redis 配置 redis: host: localhost port: 6379 password: "" db: 0 # 服务配置 server: host: 0.0.0.0 port: 8080 # CORS 配置(重要:允许前端域名访问) cors: allow_origins: - "https://your-frontend-domain.com" - "http://localhost:3000" # 开发环境 allow_methods: - GET - POST - PUT - DELETE - OPTIONS allow_headers: - "*" # JWT 配置 jwt: secret: "your-secret-key" expire: 7200 # 2小时 # API 配置 api: prefix: "/api" version: "v1" ``` #### 3. 准备 MySQL 数据库 ```bash # 使用 Docker 运行 MySQL docker run -d \ --name ppanel-mysql \ -e MYSQL_ROOT_PASSWORD=root_password \ -e MYSQL_DATABASE=ppanel \ -e MYSQL_USER=ppanel \ -e MYSQL_PASSWORD=your_password \ -p 3306:3306 \ -v ppanel-mysql-data:/var/lib/mysql \ mysql:8.0 # 等待 MySQL 启动 sleep 10 ``` #### 4. 准备 Redis ```bash # 使用 Docker 运行 Redis docker run -d \ --name ppanel-redis \ -p 6379:6379 \ -v ppanel-redis-data:/data \ redis:7-alpine ``` #### 5. 运行后端服务 ```bash # 拉取后端镜像 docker pull ppanel/ppanel:latest # 运行后端容器 docker run -d \ --name ppanel-backend \ -p 8080:8080 \ -v $(pwd)/config.yaml:/app/config.yaml \ --link ppanel-mysql:mysql \ --link ppanel-redis:redis \ ppanel/ppanel:latest ``` #### 6. 初始化数据库 ```bash # 执行数据库迁移 docker exec ppanel-backend ./ppanel migrate ``` ### 方式二:二进制部署 #### 1. 下载后端程序 ```bash # 下载最新版本 wget https://github.com/perfect-panel/ppanel/releases/latest/download/ppanel-linux-amd64.tar.gz # 解压 tar -xzf ppanel-linux-amd64.tar.gz cd ppanel # 赋予执行权限 chmod +x ppanel ``` #### 2. 配置后端服务 创建配置文件 `config.yaml`(内容同上 Docker 部署方式)。 #### 3. 安装并配置 MySQL ```bash # Ubuntu/Debian sudo apt update sudo apt install mysql-server -y # 创建数据库和用户 sudo mysql < backup.sql # 删除旧容器 docker rm ppanel-backend # 运行新容器 docker run -d \ --name ppanel-backend \ -p 8080:8080 \ -v $(pwd)/config.yaml:/app/config.yaml \ --link ppanel-mysql:mysql \ --link ppanel-redis:redis \ ppanel/ppanel:latest # 执行数据库迁移 docker exec ppanel-backend ./ppanel migrate ``` ### 二进制升级 ```bash # 停止服务 sudo systemctl stop ppanel # 备份旧版本 sudo cp /opt/ppanel/ppanel /opt/ppanel/ppanel.backup # 下载新版本 wget https://github.com/perfect-panel/ppanel/releases/latest/download/ppanel-linux-amd64.tar.gz tar -xzf ppanel-linux-amd64.tar.gz # 替换文件 sudo mv ppanel /opt/ppanel/ sudo chown ppanel:ppanel /opt/ppanel/ppanel # 执行数据库迁移 cd /opt/ppanel sudo -u ppanel ./ppanel migrate # 启动服务 sudo systemctl start ppanel ``` ## 下一步 - [前端分离部署](./frontend.md) - 部署前端应用 - [节点端安装](../node/installation.md) - 部署节点服务 - [API 文档](/zh/api/reference) - 查看完整 API 文档