技术运营

Coolify 部署 WordPress:比宝塔更现代的方案(含完整步骤)

共享主机性能不够用,想自己搭 VPS 但觉得复杂?Coolify 是一个开源的自托管 PaaS 平台,通过 Docker 化部署管理 WordPress,配置和维护比宝塔面板更简洁,支持多项目、自动 SSL、数据备份到对象存储。本文包含从 VPS 要求到完整部署步骤的操作指南。

文章头图:Coolify 部署 WordPress:比宝塔更现代的方案(含完整步骤)

如果你的独立站跑在共享主机上,经历过以下任何一种情况,说明是时候考虑迁移到 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

  1. 打开浏览器,访问 http://<your-server-ip>:8000
  2. 创建管理员账号(邮箱 + 密码)
  3. 完成 Server 配置:Coolify 会自动检测当前服务器,将其添加为「localhost」服务器

这时候 Coolify 已经可以用了。接下来部署 WordPress。

部署 WordPress 步骤

1. 创建新项目

在 Coolify 左侧菜单 → Projects → New Project,填写项目名称(例如 mybrand-wordpress)。

Coolify Dashboard 项目列表
Coolify Dashboard 项目列表

上图是 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 会:

  1. 拉取 WordPress 和 MySQL 的 Docker 镜像
  2. 创建数据库容器并初始化
  3. 启动 WordPress 容器
  4. 配置 Nginx 代理(Coolify 使用内置的 Caddy 或 Traefik 作为反向代理)

部署完成后,访问你的域名,会看到 WordPress 的初始安装界面。

域名和 SSL 配置

Coolify 内置了 Let's Encrypt 的自动 SSL 申请功能。在你填写域名并完成部署后:

  1. Coolify 会自动向 Let's Encrypt 申请 TLS 证书
  2. 证书申请成功后,所有 HTTP 请求自动重定向到 HTTPS
  3. 证书在到期前会自动续期,无需手动操作

申请失败的常见原因

  • 域名 DNS 未生效,Let's Encrypt 验证时找不到服务器
  • 80 端口没有开放(Let's Encrypt 的 HTTP-01 验证方式需要 80 端口可访问)
  • 申请频率超限(同一域名短时间内多次失败后,Let's Encrypt 会临时封锁该域名的申请)

如果 SSL 申请失败,在 Coolify 的日志页面可以看到具体的错误信息。

数据备份:Volumes 备份到对象存储

WordPress 的数据分两部分:

  1. 数据库:所有文章、设置、用户数据
  2. 文件wp-content/uploads 目录下的媒体文件

Coolify 支持将这两部分通过 S3 兼容协议备份到对象存储。

配置步骤

  1. 进入 Coolify → Settings → Backup
  2. 添加 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
  1. 在 WordPress 服务的「Backups」选项中,设置备份频率(建议每天一次)和保留数量(建议保留 7 天)
  2. 手动触发一次备份,验证备份文件是否成功上传到 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或查看联系说明