Wanzul Blog

Notes, opinions, and lessons I paid for.

Unleashing WordPress Performance on Dokploy with OpenLiteSpeed

在 Dokploy 上以 OpenLiteSpeed 释放 WordPress 性能

如果你一直有在关注我的部落格,就会知道我最近把主机搬迁到 Dokploy 了。虽然过程顺利,但我对标准的 WordPress 配置并不满意。我想要更快、更高效、也更容易管理的方案。所以我打造并发布了 WordPress-Dokploy——一套专为极致性能而设计、采用 OpenLiteSpeed 的专用技术栈。

这个 WordPress 网站正运行在 OpenLiteSpeed 服务器上。

为什么选择 OpenLiteSpeed?

大多数以 Docker 为基础的 WordPress 配置都使用 Nginx 或 Apache 搭配 PHP-FPM。虽然这些方案能用,但 OpenLiteSpeed(OLS)对 WordPress 来说是个改变游戏规则的存在。它能以极小的内存占用处理庞大的并发量,还内建 LSCache——目前 WordPress 上最强大的缓存引擎。

秘诀:更优秀的子进程管理

WordPress 最大的性能瓶颈之一,就是服务器如何处理 PHP 进程。传统配置使用 PHP-FPM,它的运作方式是由一个主进程管理一组固定数量的工作子进程。每个请求会被分配给一个工作进程。如果流量暴增、所有工作进程都在忙,后续的请求就会排队或直接失败。为了解决这个问题,你往往得手动增加子进程数量,而这会线性增加你的 RAM 消耗。

OpenLiteSpeed 使用 LSPHP(LiteSpeed PHP API),它在根本上比 FastCGI 更高效。以下是它能更好地处理子进程的原因:

  • 进程组模式:不同于 PHP-FPM 中主进程可能成为瓶颈的情况,LSPHP 的子进程以更解耦的方式管理。面对流量暴增时,它们能更快地生成和扩展,而且没有同样的额外开销。
  • 更低的延迟:OLS 网页服务器与 LSPHP 子进程之间的通信经过优化,将延迟降到最低,意味着每个请求都能更快处理完毕,让该子进程更早空出来服务下一位访客。
  • 内存效率:由于 LSPHP 管理其运行环境的方式,相比标准 PHP-FPM 配置,你实际上可以用同样多的 RAM 应付更多同时在线访客。它不只是「加更多子进程」,而是让每个子进程都更有能力。

我的项目不只是给你 OLS,而是提供一整套经过性能调校的生态系统:

  • PHP 8.4(LSPHP):最新、最快的 PHP 版本。
  • Valkey 对象缓存:高效能、兼容 Redis 的对象缓存,并且会自动配置好。
  • 内建 SMTP:一个 Postfix 中继 sidecar,让你的 mail() 函数真正能发信,同时不会拖慢网站。
  • 零配置 LSCache:LiteSpeed Cache 插件已作为 MU-plugin 预先安装,意味着它永远处于启用状态,而且已经预先调校好。

如何在 Dokploy 上安装

在你的 Dokploy 实例上部署这套方案不用 5 分钟。以下是逐步流程:

  1. 创建一个 Compose 服务:在 Dokploy 控制面板中,点击 Add Service > Compose。
  2. 指向 Git:选择「Git」输入类型,并使用这个存储库网址:https://github.com/wzul/WordPress-Dokploy。
  3. 设置路径:把 Compose Path 设为 docker-compose.yml。我也强烈建议启用 Isolated Deployment。
  4. 添加环境变量:魔法就在这里发生。再也不需要杂乱的档案挂载!只需在 Environment 标签页加入这些必要的键:
    • MYSQL_ROOT_PASSWORD:你的主数据库密码。
    • WORDPRESS_DB_PASSWORD:WP 用户的密码。
    • OLS_PASSWORD:OpenLiteSpeed 管理面板(端口 7080)的密码。
    • SERVER_HOSTNAME:你的主域名(例如 example.com)。
  5. 部署:按下部署按钮,等待 Dokploy 帮你建好这套高效能技术栈!

环境变量驱动配置的威力

这套配置最棒的地方,就是它遵循 12-Factor App 原则。想提高上传上限?只要在 Dokploy 里把 WORDPRESS_UPLOAD_LIMIT=128M 改一改,再重新部署就行。不需要 SSH 进去动 php.ini 或 .htaccess 文件。从 Opcache 频率到内存上限,一切都通过环境变量来控制。

最后感想

如果你正在寻找在自架 VPS 上通过 Dokploy 运行 WordPress 的绝对最快方式,就是它了。它结合了 Docker 配置的简便,以及 OpenLiteSpeed 和 Valkey 的原始威力。不妨试一试,然后告诉我它在你那边的表现如何!


需要进阶配置方面的协助?欢迎参考我的配套指南:精通 Dokploy Compose 中的文件挂载。

Wan Zulkarnain 的头像

Written by 

Comments

发表回复