博客

教程、指南和产品动态。

指南

为 WooCommerce 选择服务器

3 11月 2026 1 分钟阅读
分享此文章

WooCommerce 的官方文档要求 PHP 8.3 或更高版本、MySQL 8.0 或 MariaDB 10.6 及以上版本、HTTPS,以及至少 256 MB 的 WordPress 内存限制。它没有给出服务器 RAM 的数值。对小型网店来说,从 2-4 GB RAM 开始是合理的(这是一条经验法则,会因网店而异)。随着商品和订单增多,数据库和处理器的负载也会增加。

网店和博客不一样。购物车和结账页面对每位访客都不同,所以无法缓存,而且订单全天都在写入数据库。因此,在相同的访问量下,网店往往比博客需要更多资源。

官方要求

WooCommerce 服务器要求文档(官方建议)列出:

  • PHP 8.3 或更高版本。
  • MySQL 8.0 或更高版本,或 MariaDB 10.6 或更高版本。
  • 支持 HTTPS。
  • WordPress 内存限制为 256 MB 或更高。
  • 使用 Apache 或 Nginx 作为 Web 服务器。
  • 如果您的网店不是英文的,需要支持多字节字符串(mbstring)。文档把它视为取决于网店情况的要求,土耳其语网店就属于这一类。

256 MB 这个数字是单个 PHP 请求的上限,不是服务器的 RAM。如有需要,请把下面这一行加入 wp-config.php:

define( 'WP_MEMORY_LIMIT', '256M' );

PHP 7.4 等较旧的版本在文档中只作为旧版回退出现,并不推荐使用。

网店与博客有何不同

  • 无法缓存的页面。WooCommerce 的缓存指南要求把购物车、结账和账户页面排除在缓存之外,因为它们显示的是该访客专属的数据。购物车 Cookie 等某些 Cookie 也应排除。请确认您的缓存插件做到了这一点。
  • 写入负载。创建订单、更新库存和保存会话,都在不断写入数据库。博客很少写入,而网店全天都在写入。
  • 后台任务。WooCommerce 通过名为 Action Scheduler 的内置任务队列来执行延后的工作(邮件、webhook、订阅付款)。该队列由 WP-Cron 触发,所以在访问量很小的网店上,任务可能延迟执行。在服务器上设置一个 cron 任务,按计划运行 WP-Cron(并配合 DISABLE_WP_CRON 设置),就能摆脱这种依赖。您可以在 WooCommerce > Status > Scheduled Actions 下查看队列。

订单数据与 HPOS

高性能订单存储(HPOS)把订单保存在专为此设计的数据表中,而不是 WordPress 通用的文章表。自 WooCommerce 8.2 起,新安装默认启用。较早的网店不会自动切换。您可以在 WooCommerce > Settings > Advanced > Features 下启用它,兼容模式会让两种结构保持同步。对服务器来说,重点是:这种结构针对订单做了优化,但数据库仍然需要内存和磁盘。

起步配置

这些数值是经验法则,会因网店而异,并不是确切的承诺。

网店起步 RAMvCore
新网店:商品少、订单少2-4 GB1-2
成长中的网店:数千件商品,定期促销4-8 GB2-4
繁忙的网店:促销频繁,插件和集成很多8 GB 及以上4 个及以上

插件的数量、图片的大小,以及促销期间的突发负载,与商品数量同样重要。对象缓存(例如 Redis)可以降低数据库负载,但它需要内存。先从小的开始,再根据高峰时段 free -h 和 top 的输出逐步增加。

网店变慢的常见原因

  • 商品图片太大、没有压缩。
  • 不用的插件,以及在每个页面上运行的多余脚本。
  • 没有对象缓存,同一个数据库查询被反复执行。
  • 不再获得维护的旧版 PHP。

解决这些问题往往应该排在升级之前。如果升级也没有帮助,问题通常出在配置上。

备份:只靠每日备份可能不够

在 Seturack,服务器每晚备份,并保留最近 7 天。网店全天都有订单进来,所以仅靠这一点可能不够。如果恢复备份,上次备份之后产生的订单会丢失。请更频繁地做数据库转储,并复制到别处:

mysqldump --single-transaction -u USER -p DATABASE | gzip > orders-$(date +%F-%H%M).sql.gz

在定时任务中,不要把密码写在命令行里。请使用权限设为 600 的 ~/.my.cnf 文件。在现成的 WooCommerce 服务器上,应用运行在 Docker 中,所以请在容器内运行数据库命令。那里的数据库是 MariaDB。容器中可能没有 mysqldump,请改用 mariadb-dump。商品图片位于 wp-content/uploads 文件夹,所以也要一并复制。

除了配置,还要准备什么

  • HTTPS。对 WooCommerce 来说这是必需的。现成的 WooCommerce 服务器通过由您的 IP 派生的 sslip.io 地址以 HTTPS 打开。要绑定您自己的域名,请参阅这篇文章。
  • 邮件。请安装 SMTP 插件,订单邮件才能发出。安装时没有设置邮件发送。
  • 更新。安装完成后,WordPress、WooCommerce 和您的插件的更新由您自己处理。大的更新之前,请在面板中创建快照。快照不能代替备份,它只是让您能回到更新之前的状态。

预装了 WooCommerce 的服务器大约 3.5 到 4 分钟即可就绪,随着网店成长,您可以在面板中升级。请看看 WooCommerce 服务器页面。

评论0

暂无评论

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

参与讨论

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

不错过任何文章

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

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