博客

教程、指南和产品动态。

开发者

如何把 Replit 项目迁移到自己的服务器

2 11月 2026 2 分钟阅读
分享此文章

要把 Replit 项目迁移到自己的服务器,请把代码下载成 zip 包或推送到 GitHub,单独收集您的 Secrets 和数据库,把代码连接到服务器上的 Coolify 面板,并在确认运行正常之后再切换域名。代码是最容易的部分。Replit 自己的指南说,数据库和网址最花时间。

旧项目在整个过程中一直保持运行。在新服务器上测试完所有内容之前,不要关闭任何东西。

哪些东西随代码一起过来,哪些不会?

部分状态操作
源代码会过来zip 包或 GitHub
.replit、replit.nix会过来,但只有 Replit 会读取它们用它们来了解运行命令和系统软件包
Secrets会留下在服务器上手动填写这些值
数据库会留下用 pg_dump 导出,并在服务器上载入
App Storage 文件会留下下载它们,并修改存储相关的代码
Replit Auth与 Replit 账户绑定改用另一种登录方式
连接器会留下把每个服务的 API 密钥设为变量

如何获取代码?

通过 GitHub:在 Project Editor 中,从 Tools 打开 Git。如有需要,选择 Initialize Git Repository,连接一个仓库,然后提交并推送。请保持私有。我们推荐这条路线,因为它也能带上之后的修改。

作为 zip 包:在文件树顶部的三点菜单中,选择 Download as zip。如果失败,请在 Shell 中自己打包 zip,排除 Replit 存放缓存密钥值的 .cache 文件夹:zip -r project.zip . -x ".cache/*" "node_modules/*"

分步操作

  1. 从 Next.js VPS 页面订购服务器。这个选项自带 Coolify,所以 Python 和普通 Node 项目也可以在同一个面板中部署。
  2. 在 .replit 中找到启动命令,在代码中找到端口。Replit 自己的发布功能也要求监听 0.0.0.0,所以这一点通常已经满足。我们试过的 Flask 取值是端口 5000 和 python -m flask run --host=0.0.0.0 --port=5000。
  3. Python 项目需要把依赖写在 requirements.txt 或 pyproject.toml 中。对于 replit.nix 中列出的系统软件包,请使用 RAILPACK_DEPLOY_APT_PACKAGES 构建变量,不过 Nix 和 APT 的名称并不总是一致。
  4. 克隆仓库,并在 Claude Code 或 Cursor 这样的编程工具中打开该文件夹。复制您的 Seturack 面板概览标签页上的粘贴到您的 AI 工具一行并粘贴进去。工具会完成部署,您也可以手动完成。
  5. 把 Replit 的 Secrets 工具中的值作为环境变量填到服务器上,包括 Replit 单独保存的部署密钥。
  6. 先复制一次数据库用于测试(见下文),并在应用的 HTTPS 地址上对它进行端到端测试。
  7. 让旧应用下线,最后再复制一次数据库,并把域名的 A 记录指向服务器的 IP 地址。证书会自动签发。

root 权限在您手里,如果愿意,也可以全部在面板中管理。

如何迁移数据库?

Replit 的数据库兼容 PostgreSQL,工具在它的 Shell 中已经备好:

  1. 在 Replit Shell 中导出:pg_dump -Fc "$DATABASE_URL" --no-owner --no-privileges -f backup.dump
  2. 这条命令导出的是开发数据库,而线上数据通常在生产数据库中。在 Database 工具中选择生产数据库,从 Settings 复制连接字符串,用它代替 "$DATABASE_URL"。
  3. 下载 backup.dump。不要把它放进仓库,因为它包含您的全部数据。
  4. 在 Coolify 中创建 PostgreSQL,并在数据库的 Backups 页面用 Import backup 上传这个文件。
  5. 在应用中把数据库的内部地址设为 DATABASE_URL,然后重新部署。

pg_dump 运行之后写入的内容不在副本里,所以最后一次复制要在停掉旧应用之后进行。

文件和登录

App Storage 的 bucket 不会迁移,所以请从 Replit 的存储工具中下载文件。如果您的代码使用 Replit 的 SDK,这部分就得修改。最简单的替代办法,是把文件写入服务器上的一个文件夹,并在 Coolify 中用 Persistent Storage 挂载它。

Replit Auth 让您的用户用 Replit 账户登录。要摆脱对 Replit 的依赖,您可能需要另一种登录方式。您的编程工具可以重写这一部分,但请先备份用户表,并在临时地址上测试。

常见问题

Replit 项目需要什么配置?

销售页面推荐至少 4 GB RAM、2 vCore 和 40 GB 磁盘,依据是 Next.js 的构建:一个有 85 个软件包的项目在 2 GB 上失败,在 4 GB 上完成了构建。如果数据库与应用共用服务器,请多留一些余量,需要的话在面板中升级。

每月费用是多少?

推荐的最低配置每月约 $6(含增值税),在土耳其以外以美元付款。每日备份已包含在价格中,流量不限。您在 Replit 上的用量和订阅会持续到您关闭为止。

如何把域名从 Replit 迁走?

在 Replit 的 Publishing、Domains 下移除域名,把 A 记录指向服务器的 IP 地址,然后在 Coolify 的 Domains 页面用 https 添加它,并重新部署。

我还能继续在 Replit 中开发吗?

可以。在 Git 面板中开启自动同步,让修改进入 GitHub。设置了 webhook 的话,服务器会在每次推送时重新构建。没有 webhook 时,请在 Coolify 中点击 Redeploy。请记住,Replit 预览和线上服务器使用的是不同的数据库。

我能把数据库留在 Replit 吗?

您可以尝试把连接字符串交给服务器,但这样应用和数据就分处两地,您的 Replit 账单也会继续。如果您真的要迁移应用,把数据库也放到同一台服务器上更干净。

Seturack 上的现成方案: Next.js, Coolify.

评论0

暂无评论

成为第一个分享想法的人。

参与讨论

请登录或注册后发表评论。

不错过任何文章

通过电子邮件接收我们最新的教程、指南和产品资讯。

您已订阅我们的电子通讯。