Nextcloud 升级卡住:用 occ 关闭维护模式

升级中断后页面提示处于升级/维护模式时,在网站根目录用 Web 用户执行 occ maintenance:mode --off。

有一次给自建 Nextcloud 做升级,升到一半页面刷不出来了,提示大概是:Nextcloud 正处于升级/维护模式。后台进不去,Web 界面也没法点「完成升级」,等于整站锁死。

维护模式本意是升级时拒绝普通访问,避免半截数据被改坏。但升级中断或脚本没跑完时,这个开关可能一直开着,你就只能走命令行把它关掉。

解决办法

在 Linux 服务器上进入 Nextcloud 网站根目录(有 occ 的那一层),用运行站点的系统用户执行:

CentOS 上(Web 用户常见为 www):

sudo -u www php occ maintenance:mode --off

要点:

  • 必须在 Nextcloud 根目录执行,occ 才找得到配置。
  • -u www 要换成你机器上真实的 PHP-FPM/Web 用户(有的是 nginx、apache、www-data)。
  • 用错用户可能导致后续文件权限和 occ 状态不一致。

关掉后再刷新页面。若升级本身没完成,可能还要继续跑:

sudo -u www php occ upgrade

或按官方文档补完中断的升级步骤。维护模式只是「门禁」,真正的升级进度要另外确认。

相关命令

# 查看是否在维护模式
sudo -u www php occ maintenance:mode

# 需要时手动打开(例如迁库、大批量改配置)
sudo -u www php occ maintenance:mode --on

为何记下

一人公司的网盘、协作往往靠 Nextcloud。升级失败时 Web 点不了按钮,`occ maintenance:mode --off` 是救命绳。记住:在正确目录、用正确用户执行;关维护模式之后,再确认升级是否真正完成,别只开门不收尾。

No comments yet