本文将帮助你将当前服务器上部署的极光面板(Aurora Panel)整体迁移到另一个新服务器。该思路基于 Docker Compose 的部署方式,主要分为备份数据迁移文件在新服务器上恢复并启动三大步骤。


1. 在旧服务器上备份

  1. 导出数据库
    在旧服务器 Aurora 项目的目录下(即含有 docker-compose.yml 的目录),执行:

    docker-compose exec -T postgres pg_dump -d aurora -U aurora -c > data.sql
    • -T 表示不分配伪终端,适合直接重定向输出到文件。

    • -d aurora 是数据库名称(如果你的数据库名称不一样,请替换)。

    • -U aurora 是数据库用户名(如果不一样,也需替换)。

    • -c 表示在导出的 SQL 中包含清空表等命令,以便恢复时覆盖原有数据。

    • 该命令会在当前目录下生成一个 data.sql 文件,这就是你要迁移的数据库内容。

  2. 停止容器

    docker-compose down
    • 这会停止并移除相关容器,但不会删除数据卷和镜像。

  3. 备份项目文件

    • 务必备份包含 docker-compose.yml以及项目中所有自定义配置文件的目录。

    • 例如,你可以直接把整个 Aurora 面板项目所在文件夹打包成一个压缩包:

      tar czvf aurora_backup.tar.gz /path/to/aurora-project

      或者根据你的目录结构,有针对性地把关键文件打包(例如docker-compose.yml)。

  4. 检查持久化数据卷(如果有)

    • 如果你的 docker-compose.yml 中定义了数据卷(例如 PostgreSQL 数据可能挂载到某个卷或宿主机路径下),也需要一并拷贝。

    • 大多数情况下,Aurora Panel + Postgres 的数据都会存放在容器内部或通过 volume 映射到宿主机某个目录。可以通过 docker volume ls 查看卷名称,通过 docker inspect <卷名> 找到对应的实际存储路径,再进行打包复制。


2. 将文件迁移到新服务器

  1. 上传到新服务器

    • 将上一步得到的 data.sql 和你打包好的 aurora_backup.tar.gz(或项目文件夹)上传到新服务器。

    • 建议使用 scprsync 或者其他常用的文件传输方式。

  2. 在新服务器解压或还原

    • 在新服务器上将项目文件解压到你想要部署的目录,比如:

      tar xzvf aurora_backup.tar.gz -C /path/to/your/deploy/

      确保解压后该目录下仍然包含 docker-compose.ymldata.sql 以及你的配置文件。


3. 在新服务器上恢复并启动

  1. 安装 Docker & Docker Compose

    • 如果新服务器尚未安装 Docker、Docker Compose,需要先行安装:

      # 以 Ubuntu/Debian 为例: sudo apt-get update sudo apt-get install docker.io docker-compose

      不同系统安装方式不一样,参考官方文档或使用包管理器安装即可。

  2. 检查并修改配置

    • 在新服务器上,进入项目目录,查看 docker-compose.yml 或者 .env 文件,如果你有自定义的域名、端口、环境变量等信息,需要在新服务器上进行相应修改。

    • 如果 IP 或域名变更,需要修改 .env 或配置文件中的相应变量。

  3. 启动数据库容器

    • 为了先行恢复数据库,可以只启动数据库容器:

      docker-compose up -d postgres

      等待 Postgres 容器启动完成。

  4. 恢复数据库

    • 在新服务器的项目目录下执行:

      docker-compose exec -T postgres psql -d aurora -U aurora < data.sql

      这会将你之前在旧服务器上导出的 data.sql 恢复到新服务器上的 Postgres 中。

  5. 启动全部服务

    • 数据恢复完成后,执行:

      docker-compose up -d

      这将会启动 Aurora 面板以及其他相关容器(如 Nginx、Redis 等)。

  6. 验证运行

    • 在浏览器中访问你的新服务器的域名或 IP + 端口,确认 Aurora 面板是否能够正常访问。

    • 如果无法访问,请检查防火墙、端口映射或域名解析是否配置正确。

总结

本文旨在帮助跨服务器间的极光面板迁移,其实可以简化,如果服务器同时工作,可以直接备份数据库以后整体文件夹迁移过去,然后在新服务器的文件夹下执行恢复操作即可。

人生除死无大事