如果你的独立站跑在共享主机上,经历过以下任何一种情况,说明是时候考虑迁移到 VPS 了:
- 访问量稍高就出现 503 或页面加载缓慢
- 主机商限制数据库连接数,WordPress 频繁崩溃
- 同服务器的其他网站影响你的性能
- 想部署多个网站,但共享主机的多域名方案太贵
迁移到 VPS 的门槛感觉很高,尤其是如果你不熟悉 Linux 命令行。宝塔面板降低了这个门槛,但它也有自己的问题:图形化操作掩盖了底层配置,出了问题更难排查,而且宝塔的安全记录也让人不放心。
Coolify 是一个更现代的替代方案。本文会带你走完从零开始的完整部署流程。
为什么考虑 Coolify:与 LNMP/宝塔/cPanel 的对比
先说清楚 Coolify 的定位:它是一个开源的自托管 PaaS 平台,底层基于 Docker,通过 Web UI 管理应用部署、环境变量、域名、SSL 和备份。
对比其他方案
宝塔面板(BT Panel):
- 优势:中文界面、快速上手、国内使用广泛
- 劣势:安全漏洞历史较多(宝塔本身曾多次爆出安全问题);PHP/Nginx 配置分散在多个位置,维护复杂;没有 Docker 化,多项目隔离差
cPanel(主机商提供):
- 优势:成熟稳定,文档丰富
- 劣势:通常随主机商授权,价格贵;自定义程度低;老旧的部署模式
LNMP 手动配置:
- 优势:完全控制
- 劣势:每个网站的 Nginx/PHP 配置都要手动维护,更新和迁移麻烦
Coolify 的优势:
- Docker 化部署:每个 WordPress 实例跑在独立容器中,互相不干扰
- 支持多项目:一台 VPS 可以托管多个 WordPress 网站,通过 Web UI 统一管理
- 开源免费:社区版完全免费,数据完全在自己的服务器上
- 自动 SSL:内置 Let's Encrypt,绑定域名后自动申请和续期
- 备份集成:支持备份到 S3、Cloudflare R2、Backblaze B2
Coolify 的局限:
- 需要有基础的命令行经验(SSH 连接服务器、执行安装命令)
- 出了问题需要自己查 Docker 日志排查,没有宝塔那种一键检查的图形化界面
- 社区活跃但中文资源少,遇到问题需要查英文文档或 Discord
如果你完全没有命令行经验,建议先了解基本的 SSH 连接和 Linux 基础命令,再来部署。
VPS 要求:配置选型建议
最低配置
运行 Coolify + 单个 WordPress 网站的最低推荐配置:
- 内存:2GB(1GB 通常不够,Coolify 自身 + MySQL + WordPress 的合计内存占用在 600MB-1GB 之间)
- CPU:1 核(够用,但建议 2 核以上,高并发时不容易卡顿)
- 存储:20GB SSD(Coolify 系统 + WordPress 文件 + 数据库)
如果计划在同一台 VPS 上跑 3 个以上网站,建议升级到 4GB 内存、2 核。
服务商选择要点
不做具体推荐,但选择时需要关注:
- 网络线路:如果目标用户在中国,需要考虑香港、新加坡节点,并测试实际访问速度(不是标称带宽)
- 存储类型:确认是 NVMe SSD,而不是 HDD 或普通 SSD
- 按小时计费:方便你在初次部署测试时随时销毁,不必绑定长期合同
- 快照/备份功能:在初次部署完成后建一个快照,作为回滚点
Coolify 安装
前提条件
- 操作系统:Ubuntu 22.04 LTS 或 Debian 11/12(推荐 Ubuntu 22.04)
- 需要 root 权限(或有 sudo 权限的用户)
- 开放端口:8000(Coolify Web UI 默认端口),以及 80 和 443(HTTP/HTTPS)
在服务商控制台(安全组/防火墙)中,确认以下端口已开放:
TCP 22 # SSH
TCP 80 # HTTP
TCP 443 # HTTPS
TCP 8000 # Coolify Web UI(初始配置用,配置完成后可以关闭)
安装命令
SSH 连接到 VPS 后,执行:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
安装脚本会自动安装 Docker 和 docker compose,并启动 Coolify 的服务容器。整个过程大约 3-5 分钟。
安装完成后,输出中会显示访问地址:
Coolify is now running at http://<your-server-ip>:8000
初始化 Web UI
- 打开浏览器,访问
http://<your-server-ip>:8000 - 创建管理员账号(邮箱 + 密码)
- 完成 Server 配置:Coolify 会自动检测当前服务器,将其添加为「localhost」服务器
这时候 Coolify 已经可以用了。接下来部署 WordPress。
部署 WordPress 步骤
1. 创建新项目
在 Coolify 左侧菜单 → Projects → New Project,填写项目名称(例如 mybrand-wordpress)。

上图是 Coolify 控制台首页:左侧为导航菜单,右侧 Projects 区域展示已有项目卡片。新建 WordPress 站点时,点击 + Add 创建项目,进入项目后再通过 + Add Resource 添加 WordPress 服务。
2. 添加 WordPress 服务
进入刚创建的项目 → Add New Resource → Services → WordPress。
Coolify 提供了预配置的 WordPress 服务模板,包含:
- WordPress 容器(官方镜像)
- MySQL 数据库容器
- 自动配置的
wp-config.php环境变量
3. 填写配置
在服务配置页面,填写:
| 字段 | 说明 |
|---|---|
| MySQL Root Password | 数据库 root 密码,建议自动生成 |
| MySQL Database | 数据库名,例如 wordpress_db |
| MySQL User | 数据库用户名 |
| MySQL Password | 数据库用户密码,建议自动生成 |
| WordPress Table Prefix | 默认 wp_ 即可 |
密码自动生成后,务必保存到密码管理器中。
4. 分配域名
在「Domains」字段填写你的域名,例如 yourdomain.com。
前提:你的域名 DNS 已经将 A 记录指向这台 VPS 的 IP 地址,且 DNS 已经生效(可以通过 nslookup yourdomain.com 验证)。
5. 部署
点击「Deploy」按钮。Coolify 会:
- 拉取 WordPress 和 MySQL 的 Docker 镜像
- 创建数据库容器并初始化
- 启动 WordPress 容器
- 配置 Nginx 代理(Coolify 使用内置的 Caddy 或 Traefik 作为反向代理)
部署完成后,访问你的域名,会看到 WordPress 的初始安装界面。
域名和 SSL 配置
Coolify 内置了 Let's Encrypt 的自动 SSL 申请功能。在你填写域名并完成部署后:
- Coolify 会自动向 Let's Encrypt 申请 TLS 证书
- 证书申请成功后,所有 HTTP 请求自动重定向到 HTTPS
- 证书在到期前会自动续期,无需手动操作
申请失败的常见原因:
- 域名 DNS 未生效,Let's Encrypt 验证时找不到服务器
- 80 端口没有开放(Let's Encrypt 的 HTTP-01 验证方式需要 80 端口可访问)
- 申请频率超限(同一域名短时间内多次失败后,Let's Encrypt 会临时封锁该域名的申请)
如果 SSL 申请失败,在 Coolify 的日志页面可以看到具体的错误信息。
数据备份:Volumes 备份到对象存储
WordPress 的数据分两部分:
- 数据库:所有文章、设置、用户数据
- 文件:
wp-content/uploads目录下的媒体文件
Coolify 支持将这两部分通过 S3 兼容协议备份到对象存储。
配置步骤
- 进入 Coolify → Settings → Backup
- 添加 S3 兼容的存储配置(支持 AWS S3、Cloudflare R2、Backblaze B2)
以 Cloudflare R2 为例(R2 对出口流量免费,适合备份场景):
Endpoint: https://<account-id>.r2.cloudflarestorage.com
Bucket: wordpress-backup
Access Key: <R2 API Token 中的 Access Key>
Secret Key: <R2 API Token 中的 Secret Key>
Region: auto
- 在 WordPress 服务的「Backups」选项中,设置备份频率(建议每天一次)和保留数量(建议保留 7 天)
- 手动触发一次备份,验证备份文件是否成功上传到 R2
注意:Coolify 的备份功能主要备份数据库。wp-content/uploads 的文件备份,建议额外配置 WordPress 插件(如 UpdraftPlus)同步到对象存储。
常见问题处理
内存不足导致 WordPress 出现 502
现象:访问网站出现 502 Bad Gateway,Coolify 日志显示容器反复重启。
检查方法:
# 查看服务器内存使用情况
free -h
# 查看 Docker 容器状态
docker ps -a
# 查看 WordPress 容器日志
docker logs <wordpress-container-name> --tail 50
处理方式:
- 如果内存确实不足,升级 VPS 配置
- 临时方案:为 WordPress 容器设置内存限制,防止单个容器占满全部内存
- 检查是否有 WordPress 插件导致内存泄漏(在
wp-config.php中临时停用所有插件)
数据库连接失败
现象:WordPress 显示「建立数据库连接时出错」。
排查步骤:
# 查看数据库容器是否正在运行
docker ps | grep mysql
# 查看数据库容器日志
docker logs <mysql-container-name> --tail 50
常见原因:MySQL 容器初始化未完成就被 WordPress 容器访问,通常等 1-2 分钟后刷新页面可以自动恢复。如果持续出现,检查 WordPress 环境变量中的数据库连接信息是否正确。
SSL 申请失败
如前面所说,先检查 DNS 是否生效、80 端口是否开放。如果是申请频率超限,需要等待 1 小时后再试(Let's Encrypt 的频率限制是每个域名每小时 5 次)。
查看 SSL 申请的详细日志,在 Coolify Web UI → 对应服务 → Logs 中可以找到。
[2026 技术实战提示] 在真实的商业环境中执行上述策略时,请始终以官方最新文档的 API 参数或界面变动为准。建议配合 GTM Preview 和 Google Search Console 进行实时验证。
FAQ
Coolify 和宝塔哪个更适合独立站?
取决于你的技术背景和需求:
选 Coolify 的情况:不担心英文界面,有基础的命令行经验,需要在同一台服务器上管理多个 WordPress 或其他应用(如 n8n、Ghost),对安全性要求较高(宝塔的安全漏洞历史是真实问题)。
选宝塔的情况:需要中文界面,完全不熟悉 Docker,只有一个网站需要管理,不想花时间学习新工具。
两者都能完成 WordPress 部署,Coolify 的维护成本在熟悉之后更低,但入门的学习曲线稍高。
Coolify 免费版能用几个项目?
Coolify 的社区版(自托管版本)完全免费,没有项目数量限制。你可以在同一台 VPS 上部署任意数量的项目,限制只来自服务器自身的资源(内存、CPU、存储)。
Coolify 有云托管版本(Coolify Cloud)是付费的,但那是他们帮你托管 Coolify 本身的服务,和你自己安装的社区版是两回事。
出了问题怎么查日志?
Coolify 日志:在 Web UI → 对应服务 → Logs,可以看到部署日志和运行日志。
Docker 容器日志(SSH 连接到服务器后执行):
# 查看所有容器
docker ps -a
# 查看特定容器的实时日志
docker logs -f <container-name>
# 查看最近 100 行日志
docker logs --tail 100 <container-name>
Nginx/Caddy 代理日志:
# Coolify 使用 Caddy 作为反向代理,日志在 Caddy 容器中
docker logs coolify-proxy --tail 100
如果是 WordPress 本身的 PHP 报错,进入 WordPress 后台 → 工具 → 站点健康,或者通过 SSH 进入容器查看:
docker exec -it <wordpress-container-name> bash
tail -f /var/log/apache2/error.log
下一步
如果你已经成功部署 WordPress,下一步可以参考 在 Docker 容器内重载 Nginx,了解 Docker 环境下的服务管理方法。
如果你想用成本更低的方式运行这套方案,可以查看 Oracle 免费服务器适合部署跨境独立站吗——Oracle Always Free 的 Ampere A1 实例运行 Coolify + WordPress 是完全够用的。
如果你在部署过程中遇到问题,或者想讨论更适合自己独立站的技术架构方案,可以通过「独立站技术架构咨询」联系 Charlie,说明你目前的服务器配置和遇到的具体问题。
评论
留言需人工审核后才会显示;回复会随主评论一起发布。评论按文章独立归档,请在你阅读的那篇文章下留言。 技术诊断请发邮件 sue@sufob.com或查看联系说明。