文档 / 故障排查

故障排查

大多数设置问题归结为 DNS、云防火墙,或出站 25 端口封锁。这里讲如何识别和修复每一个。

面板在我的域名上打不开

  • http://server-IP/ 能用但域名不行 —— DNS 还没有解析。在 dnschecker.org 检查 panel.yourdomain.com(类型 A)。如果它是空白的,说明你的 DNS 记录或名称服务器没有设置——见 指向你的域名。
  • 域名根本没有名称服务器 —— 注册商的委派没有发布,或者你在一个并非权威的 DNS 托管处设置了记录。在 dnschecker.org 验证 NS(类型 NS);如果它是空的或错的,就在你的注册商那里修复名称服务器,或者迁移到 Cloudflare。
  • 名称服务器指向某处,但它仍然解析不了(“REFUSED”) —— 那个 DNS 托管其实并没有在提供该区域。在那里激活 DNS 管理,或者把域名迁移到 Cloudflare(它在被添加后总会提供该区域)。

HTTPS 未激活(挂锁不见了)

HTTPS 会在 panel.yourdomain.com 指向服务器后约 5 分钟内自动开启。如果它没有:

  • 确认 A 记录解析到 正确的 IP(dnschecker.org)。
  • 确保 80 和 443 端口在你的 云防火墙 中是开放的。
  • 如果你使用 Cloudflare,把 panel 记录设为 仅 DNS(灰色云),不要代理。
  • 要现在就强制开启:以 root 身份 SSH 进去并运行 sudo nimbopanel-enable-https。

客户无法发送邮件 / 外发邮件退回或超时

在断定任何事之前先打开 System → Outgoing mail。这张卡片会测量这台服务器能否在 25 端口上触及互联网,并明白地说出来。如果它报告端口被封锁,就从同一张卡片上的表单设置一个中继——见 邮件可达性与发送。一个工作的中继会在邮件日志中显示 status=sent。

如果卡片说 25 端口是 开放的,那么封锁不是你的问题,成因在别处:检查收件方的退信消息,并检查下面的 SPF/DKIM/DMARC。

邮件能发出去,但落进垃圾邮件

消息没有被完整认证。检查这三样是否都为发送域名发布并通过:

  • SPF 包含你的中继(例如 include:spf.brevo.com)。
  • DKIM —— 该域名在你的中继里被验证,且它的 DKIM 记录在你的 DNS 里。
  • DMARC —— 存在一条 v=DMARC1; p=none; … 记录(Nimbopanel 会为每个域名加一条)。

收到的邮件从不到达

  • 确认该域名的 MX 记录 指向 mail.yourdomain.com,并且 mail.yourdomain.com 解析到你的服务器。
  • 确保入站 25 端口在你的云防火墙中是开放的(入站 25 几乎从不被封锁——只有 出站 才封)。

一个工具页面(webmail、phpMyAdmin)显示错误或加载不出来

  • phpMyAdmin 在没有面板会话时返回 401 —— 那是预期的;从面板内部打开它(单点登录)。
  • 两个图块在客户的面板里都不出现 —— 它们仅限 Debian/Ubuntu。在 AlmaLinux、Rocky 和 RHEL 上,面板会把两者都隐藏,而不是把客户送到一个并不存在的页面。那是设计使然,不是故障。
  • Webmail / 一个站点返回 502 —— 某个 PHP 服务可能重启了。用 systemctl status 检查服务。如果过一会儿仍然持续,重新运行更新器(sudo nimbopanel update)以重新应用受管理的配置。

客户站点的问题

  • .htaccess 里的一条规则什么都不做。 站点处于翻译模式。要么在 域名 → Apache / .htaccess 里按 Translate now,要么开启完整 .htaccess 支持。那个页面上的表格会准确列出哪些指令正被跳过。见 .htaccess——两种模式。
  • 切换到完整 .htaccess 支持后每个页面立即返回 500。 Apache 缺少文件需要的一个模块——mod_rewrite 是常见的那个,而它在 Debian 和 Ubuntu 上默认关闭。重新运行安装器(sudo nimbopanel update),它会启用所需的模块;同时先把账户切回去。
  • 一个处于完整 .htaccess 模式的账户每个页面返回 502,而其他站点正常。 Apache 没有在运行:systemctl status apache2(Debian/Ubuntu)或 httpd(RHEL 家族)。
  • 更改文档根目录后站点 404 或显示一个空目录。 文件夹会被原封不动地按输入发布,如果不存在就创建它,因此一个笔误会产生一个空文件夹,而不是一个错误。读该域名行里的值并纠正它。见 从 public_html 以外的文件夹发布。
  • 一个站点的 .env 或配置文件可被下载。 文档根目录在它之上。把文档根目录移到应用的 public 文件夹;curl -sI https://domain/.env 应当回答 403。

所有站点同时宕机了

如果 每一个 站点都在同一时刻停了,通常是 php-fpm 没有在运行。用 systemctl status php*-fpm 检查。如果它拒绝启动并报 Address already in use,而又没有 php-fpm 进程活着,那是一个突然死掉的进程留下了一个陈旧的套接字文件——当前的 Nimbopanel 发行版会在启动前自己清除它们。

到哪里去看

  • 面板 + 服务日志在 systemd journal 里:journalctl -u nimbopanel -n 50。
  • 邮件投递结果:journalctl -t postfix/smtp --since -10min(查找 status=sent / status=bounced)。
  • 安装日志在 /var/log/nimbopanel-install.log。

还是卡住了?记下确切的症状和相关的日志行——那通常就足以快速定位它。