SSD Nodes Learn 🎉 VPS $4.99/月起
指南 Matt Connor作者: Matt Connor

2到4GB VPS 上 OnlyOffice 与 Collabora 怎么选

比较 OnlyOffice Docs、Collabora Online 和 DocSpace,说明 2GB 与 4GB VPS 的内存要求、CODE 连接限制及 DOCX 兼容性,帮您为 Nextcloud 选择合适方案。

OnlyOffice 与 Collabora:小型 VPS 的选择

OnlyOffice 与 Collabora 是两个文档引擎,用于连接到您已经运行的文件服务器。对大多数读者来说,这通常是 Nextcloud。在 2 GB VPS 上,应选择 Collabora,并使用 Nextcloud 捆绑的版本,因为它不需要额外的容器,也不需要额外的 Web 地址。在 4 GB 或更大内存的 VPS 上,如果您的团队主要使用 .docx.xlsx,则值得为 ONLYOFFICE Docs 分配额外内存,因为其编辑器可以直接处理这些格式。

每次搜索这个问题时,都会出现第三个名称。ONLYOFFICE DocSpace 是一个拥有独立界面的独立产品,不是 Nextcloud 连接的组件。由于教程提到“OnlyOffice”就安装 DocSpace,是很多人误以为 Nextcloud 中的编辑按钮需要大型服务器的最常见原因。

容易混淆的三个产品

  • ONLYOFFICE Docs,也称为 Document Server,是独立的编辑引擎。它不包含文件管理器。Nextcloud 连接器连接的就是它。Community Edition 免费,采用 GNU AGPL v3 许可。
  • ONLYOFFICE DocSpace 是一个工作区,提供房间、成员管理、共享和自己的 Web 界面,并在其中捆绑 Docs。它与 Nextcloud 的功能重叠,而不是对 Nextcloud 进行扩展。2026 年 8 月查阅的官方最低配置要求是 6 个 CPU 核心和 12 GB RAM。
  • Collabora Online 是运行在服务器上的 LibreOffice。文档在服务器上完成排版和绘制,然后以图像形式发送到浏览器。免费版本是 CODE,即 Collabora Online Development Edition 的缩写。

Nextcloud 为 Collabora 提供两个应用。richdocuments 在应用商店中列为 Nextcloud Office,是连接 Collabora 服务器的连接器。richdocumentscode 将 CODE 集成到 Nextcloud 安装中,因此无需运行容器,也无需编写代理规则。Nextcloud 自己的手册说明,该内置服务器适合个人使用或小型团队,并建议为了获得更好的性能而单独安装 Collabora。

如果您还没有确定文件服务器,那么 Seafile 与 Nextcloud 的比较 是首先需要做出的选择,因为办公服务器要附加到您运行的文件服务器上。如果 Nextcloud 已经运行,在 VPS 上部署带 TLS 和备份的 Nextcloud 实例 就是本指南假定使用的服务器。

每个服务需要多少 RAM?

ChartVendor stated minimum RAM for the office server alone, August 2026
The data behind this chart
[
  {
    "label": "Collabora CODE",
    "min_ram_gb": 1
  },
  {
    "label": "ONLYOFFICE Docs",
    "min_ram_gb": 4
  },
  {
    "label": "ONLYOFFICE DocSpace",
    "min_ram_gb": 12
  }
]

这些数据是各厂商发布的最低要求,采集于 2026 年 8 月;每项数据只针对单独运行的办公服务器,不包含其他服务。Collabora 的 CODE 容器快速入门文档要求 1 GB。ONLYOFFICE 在 Docker 下运行 Docs 时要求 4 GB,此外还需要 4 GB swap 和 40 GB 可用磁盘空间。DocSpace 要求 12 GB 和 6 个 CPU 核心。

现在将 Nextcloud 添加到同一台服务器。PHP-FPM(FastCGI 进程管理器)工作进程、数据库和后台任务运行器都需要内存;用于加快文件列表显示的内核页缓存也需要内存。在 2 GB VPS 上,没有足够的剩余内存运行独立的办公容器,因此服务器会使用 swap。发生 swap 的服务器看起来像是故障服务器:编辑器的加载指示器转动 30 秒后就会放弃。这就是内置 CODE 应用存在的原因。它将 Collabora 二进制文件包含在 Nextcloud 应用中,由 Nextcloud 在本地将编辑器流量代理到该应用。这样会牺牲一些速度,但无需运行完整的独立服务。

两种引擎以不同方式占用内存

Collabora 在服务器上完成渲染。每个打开的文档都会在容器内获得一个独立进程;用户编辑文档时,可使用 docker exec collabora ps -ef 监控这些进程。内存占用会随同时打开的文档数量增加,因此空闲服务器的开销较低,而 10 名用户同时编辑时则不是这样。

ONLYOFFICE Docs 将布局处理放在浏览器中执行。其编辑器使用 JavaScript,服务器负责存储文件、协调协同编辑和执行格式转换。容器还会运行 nginx、node.js 服务、PostgreSQL 和 RabbitMQ。由于这些组件会产生基础内存占用,因此即使没有用户连接,内存下限也是 4 GB。

两条曲线的形状不同。Collabora 起始占用较低,并会随着打开的文档数量增加而上升。ONLYOFFICE 起始占用较高,但上升速度较慢,因为部分处理工作在用户的笔记本电脑上完成。

免费构建版本的限制

CODE 最多允许同时打开 10 个文档,共使用 20 个连接。Collabora 有意设置了这一上限,避免开发构建版本在无提示的情况下变成企业基础设施。达到上限后,下一个文档必须等到有连接槽位释放才能打开。付费版 Collabora Online 会移除这一上限,并提供支持。

ONLYOFFICE Docs Community Edition 未公布连接数上限。其 Docker 要求页面改为提供容量级别:双核 2.8 GHz、4 GB RAM 的机器支持 100 到 200 名用户;四核机器支持 200 到 400 名用户。页面同时说明,实际数量取决于用户打开的文档大小和类型。应将这些数据视为供应商在特定条件下测得的容量上限。

哪个对 .docx 和 .xlsx 的处理更好?

ONLYOFFICE 直接使用 Office Open XML(OOXML),因此 .docx 文件会以原始格式打开、编辑并写回。Collabora 底层使用 LibreOffice,其原生格式是 OpenDocument(ODF),因此每个 OOXML 文件在打开时都要经过导入步骤,在保存时都要经过导出步骤。两者都足以处理日常文档。差异会出现在使用 Microsoft Word 或 Excel 创建且包含复杂格式的文件中,通常表现为细微的布局变化,而不是数据丢失。

不要仅根据对比页面(包括本页面)做出判断。选择两个问题最严重的文件:一个包含修订记录,另一个包含数据透视表。分别在两个编辑器中打开、保存并下载,然后与原文件进行比较。用20分钟完成这个过程,就能回答您的文档格式保真度问题;只有针对您自己文档的问题才有实际意义。

如果只有一个人偶尔编辑文件,单文件办公套件可以完全避免运行文档服务器。

许可证,以及付费版本的定位

ONLYOFFICE Docs Community Edition 采用 GNU AGPL v3 许可证。Collabora Online 的源代码采用 Mozilla Public License 2.0 许可证。两个项目都是开源项目,两家公司也都销售提供技术支持的版本。

两者免费版本的限制不同。Collabora 的免费版本功能完整,但并发数受上述数值限制。ONLYOFFICE 的免费版本没有并发上限,同时销售 Enterprise Edition 和 Developer Edition,这些版本提供技术支持和更多功能。对于家庭用户或小型团队,两种免费版本都已足够。对于企业,在规划部署前应先阅读许可证条款,因为 AGPL 义务和按用户计费是两个独立问题,需要分别评估。

安装其中任意一个都只需要一个容器

ONLYOFFICE Docs 绑定到回环地址,因为前置反向代理会终止 TLS(传输层安全):

sudo docker run -i -t -d -p 127.0.0.1:8081:80 --restart=always \
  -e JWT_SECRET=replace_this_with_a_long_random_string \
  onlyoffice/documentserver

请自行设置 JWT_SECRET。ONLYOFFICE Docs 从 7.2 起默认启用 JWT(JSON Web Token)签名;如果不提供密钥,容器会自动生成一个。容器重新创建后,自动生成的密钥可能发生变化,连接器随后会停止工作,而界面不会显示有用的错误信息。

首次启动可能需要几分钟。检查状态:

curl http://127.0.0.1:8081/healthcheck

数据库、消息代理和容器内的存储准备就绪后,该端点会返回 true。如果返回其他内容,包括 false,请先读取容器中的 docker logs,再修改 Nextcloud 设置。

Collabora CODE:

docker run -t -d --name collabora --restart always \
  -p 127.0.0.1:9980:9980 \
  -e "aliasgroup1=https://cloud.example.com:443" \
  -e "extra_params=--o:ssl.enable=false" \
  collabora/code

aliasgroup1 是此容器接受其请求的 Nextcloud 地址列表,必须将端口包含在其中。设置 ssl.enable=false 后,coolwsd(Collabora 服务器进程)会在容器内使用普通 HTTP 通信,因为前置反向代理负责 TLS。检查状态:

curl http://127.0.0.1:9980/hosting/capabilities
curl http://127.0.0.1:9980/hosting/discovery

第一个请求返回 JSON,第二个请求返回 XML。连接被拒绝表示容器仍在启动,或已经退出,因此请读取 docker logs collabora

连接编辑器与 Nextcloud

对于 Collabora,请安装 Nextcloud Office 应用,打开“管理设置”,然后进入“Office”,选择使用自己的服务器,并输入用户浏览器可以访问的地址,例如 https://office.example.com。Nextcloud 负责存储文件,Collabora 通过 WOPI(Web 应用开放平台接口)获取文件,因此以下4条网络路径都必须正常:

  • 浏览器可以访问 Nextcloud。
  • 浏览器可以访问 Collabora 服务器。
  • Nextcloud 可以访问 Collabora 服务器。
  • Collabora 可以访问 Nextcloud。

手动测试最后两条路径。在 Nextcloud 服务器上执行 curl https://office.example.com/hosting/capabilities,应输出 JSON。在 Collabora 容器内执行 curl https://cloud.example.com/status.php,应输出 Nextcloud 的状态 JSON。哪个测试失败,就修复对应的路径。

对于 ONLYOFFICE,请安装连接器应用,然后在其设置中填写 ONLYOFFICE Docs 地址和密钥。密钥必须与 JWT_SECRET 完全匹配。如果容器自动生成了密钥,请在容器内从 /etc/onlyoffice/documentserver/local.json 读取该密钥,位置为 services.CoAuthoring.secret.inbox.string 下。然后从 Nextcloud 目录中以 Web 服务器用户身份运行以下命令进行验证:

php occ onlyoffice:documentserver --check

命令会确认连接成功,或输出连接器遇到的错误。相比读取浏览器控制台,这种方式更快。两个连接器还提供高级字段,用于浏览器访问地址与服务器之间的访问地址不同时的场景。例如,Nextcloud 通过专用网络访问编辑器时,就需要使用这些字段。请填写这些字段,避免将内部流量发送到公网地址后再返回。

反向代理后编辑功能失效的原因

几乎所有“无法打开”的报告都属于以下情况之一。

协议不匹配。 Nextcloud 使用 https,但办公室服务器地址配置为 http 时会失败,因为浏览器拒绝在安全页面中加载不安全的框架。两者都使用 https

缺少 Collabora 的代理规则。 代理必须转发 /browser/hosting/discovery/hosting/capabilities/cool/cool/adminws,并将 /cool/(.*)/ws 上的 websocket 连接转发到端口 9980。缺少 websocket 规则时,文档框架会加载,但随后保持空白,因为编辑器加载后会立即建立 websocket 连接,却始终收不到响应。

aliasgroup1 配置错误。 容器会拒绝来自未配置地址的请求,并在 docker logs collabora 中记录 No acceptable WOPI hosts found。该值必须与用户输入的 Nextcloud URL 完全匹配,包括端口。

Nextcloud 拒绝访问本地地址。 Nextcloud 默认会阻止向本地地址和私有地址发起出站请求,日志行显示为 Host violates local access rules。如果编辑器确实只能通过本地地址访问,请在 config.php 中设置 'allow_local_remote_servers' => true

WOPI 允许列表范围过窄。 Nextcloud 的 Office 设置中包含 WOPI 请求允许列表,用于限制可以获取文件的地址。启用此设置是合理的,但容器使用新 IP 地址恢复后,它也可能导致编辑功能失效。如果文档在重建后立即停止打开,请先检查此字段。

ONLYOFFICE 无法下载文件。 连接器报告 Error while downloading the document file to be converted.。文档服务器被要求从 Nextcloud 获取文件,但无法完成请求:它收到的地址无法从容器内部访问,或者 Nextcloud 提供了它不接受的证书,或者密钥不匹配。使用 docker exec 在容器内部对该确切 URL 运行 curl,通常一行输出就能说明原因。

2 GB 和 4 GB 实际能运行什么

在 2 GB 内存的服务器上,运行 Nextcloud 和内置的 CODE 应用即可,不要再运行其他组件。它的速度比独立服务器慢,首次打开大型电子表格可能需要几秒,而且完全不需要配置反向代理。对于一个家庭来说,这是合适的方案。

在 4 GB 内存的服务器上,运行 Nextcloud 和独立的 CODE 容器,并配置 swap,避免突发负载导致服务器宕机。从这个配置开始,文档编辑的体验才会比较正常。

如果要在 Nextcloud 旁边运行 ONLYOFFICE Docs,计划使用 6 到 8 GB 内存,或者为 Docs 单独准备一台小型服务器。其 4 GB 最低要求仅适用于文档服务器本身,因此在 4 GB 服务器上与 Nextcloud 共享资源时,只要进行实际使用就会触发 swap。

应避免在小型 VPS 上部署 DocSpace。其官方公布的最低要求是 12 GB 内存和 6 个 CPU 核心。一个被广泛引用的服务商教程仍然使用厂商安装脚本,在 8 GB 实例上部署 DocSpace。这低于官方公布的要求,回答的也不是您提出的问题。执行教程前,请先确认它实际安装了哪些组件,并确认其中引用的要求最近一次与厂商页面核对的时间。安装脚本也不是唯一方案。Docs 和 CODE 都是可由您自行启动、停止和删除的单个容器,比使用会自动部署一整套组件的脚本更容易分析和管理。

如果您想进一步了解小型服务器究竟适合运行哪些服务,请参阅 2026 年值得自行托管的服务,其中列出了可选项目。

FAQ

Nextcloud 使用 OnlyOffice 还是 Collabora 更好?

两者没有绝对的优劣,通常取决于内存。Collabora 的起始内存要求是其快速入门文档公布的 1 GB。免费 CODE 构建版允许从 20 个连接打开 10 个文档,适合家庭或小型团队。ONLYOFFICE Docs 在 Nextcloud 自身需求之外还要求 4 GB,且不公布连接数上限;它可直接处理 .docx.xlsx,因此能更好地保留 Microsoft Office 格式。小型 VPS 选择 Collabora。团队整天使用 Office 格式,且可以为编辑器提供独立内存时,选择 ONLYOFFICE。

在 Nextcloud 中编辑文档需要多少内存?

2 GB 配合 Nextcloud 内置的 CODE server app 即可,因为该应用运行在 Nextcloud 安装中,不会作为第二个服务运行。Nextcloud 加上独立的 Collabora CODE 容器时,4 GB 内存较为充足。ONLYOFFICE Docs 单独运行时公布的文档服务器最低要求为 4 GB。因此,与 Nextcloud 共用一台机器时,应准备 6 到 8 GB;也可以将其部署到单独的服务器上。

为什么文档框架打开后一直空白?

编辑器通过 HTTPS 加载,随后建立 websocket,因此空白框架几乎总是表示 websocket 从未连接成功。对于 nginx 后的 Collabora,请确认代理转发 /cool/(.*)/ws,并传递连接升级标头。同时确认 /browser/hosting/discovery/hosting/capabilities 也已转发。然后查看容器中的 docker logsNo acceptable WOPI hosts found 表示 aliasgroup1 的值与浏览器使用的 Nextcloud 地址不匹配,其中包括端口。

在 Nextcloud 中编辑文件需要 ONLYOFFICE DocSpace 吗?

不需要。DocSpace 是独立的工作区,拥有自己的界面和用户账户;Nextcloud connector 不会连接到它。Nextcloud 连接的是 ONLYOFFICE Docs,也就是文档服务器。DocSpace 公布的最低要求是 12 GB RAM 和 6 个 CPU 核心。这也是一些安装指南让人误以为浏览器编辑需要大型服务器的原因。

#onlyoffice#collabora#nextcloud#office-suite#自托管