开始输入,可搜索发票、服务、域名、工单,以及 更多...
使用宝塔面板(aaPanel)时,最常遇到的问题是宝塔面板打不开、网站 502/504 错误、磁盘满以及忘记面板密码。本文按“先看现象、再查原因”的顺序给出排查命令,适用于 Debian/Ubuntu 与 CentOS/Rocky/AlmaLinux 上的宝塔 Linux 面板。大多数操作都通过 SSH 执行,SSH 登录方法见“SSH 登录服务器”教程。
新版宝塔安装后会随机生成面板端口和“安全入口”路径,直接访问 IP:8888 往往会提示入口校验失败或无法访问。SSH 登录后执行 bt default,或运行 bt 打开菜单选择 14(查看面板默认信息),即可看到完整的面板地址、端口和默认账号。如果面板服务本身没在运行,执行 bt restart 重启。
# Show panel URL (with security entry), port and default account
bt default
# or open the menu and choose 14 (view panel default info)
bt
# Restart the panel service
bt restart地址正确却仍然打不开,通常是端口被拦截。先确认面板实际监听的端口,然后在系统防火墙中放行(下面以 8888 为例,请替换为你的端口)。如果你在服务器之外还设置了其他网络防护或安全策略,也需要同时放行该端口。另外,请检查本地网络是否屏蔽了非常用端口,可以换手机热点测试。
# Which port is the panel listening on?
cat /www/server/panel/data/port.pl
ss -lntp | grep -E "BT-Panel|python"
# Debian / Ubuntu (ufw)
ufw allow 8888/tcp && ufw status
# CentOS / Rocky / AlmaLinux (firewalld)
firewall-cmd --permanent --add-port=8888/tcp && firewall-cmd --reloadSSH 登录服务器,执行 bt 打开管理菜单,输入 5 修改面板密码,输入 6 修改面板用户名,按提示输入新值即可,修改后立即生效。若之前修改过端口也记不清了,可以用 8 重新设置面板端口(记得在防火墙放行新端口)。
bt
# 5 -> change panel password
# 6 -> change panel username
# 8 -> change panel port502 表示 Nginx 无法从 PHP-FPM 拿到响应,常见原因是 PHP-FPM 进程崩溃、没有启动或进程数被占满。先检查进程和 sock 文件是否存在,再重启对应版本的 PHP,并查看网站错误日志与 PHP-FPM 日志定位原因。若日志中频繁出现 “server reached pm.max_children”,请在面板 PHP 设置的“性能调整”中适当提高子进程数(注意内存是否足够)。
# Is PHP-FPM running? (74 = PHP 7.4, adjust to your version)
ps aux | grep php-fpm | head
ls -l /tmp/php-cgi-74.sock
/etc/init.d/php-fpm-74 restart
# Read the logs
tail -n 50 /www/wwwlogs/example.com.error.log
tail -n 50 /www/server/php/74/var/log/php-fpm.log
tail -n 50 /www/server/php/74/var/log/slow.log504 表示 PHP 执行时间过长,超过了 Nginx 的等待时间,常见于大文件导入、采集脚本或慢 SQL。先通过 slow.log 和数据库慢查询找出慢的程序;确实需要长时间执行时,在站点的 Nginx 配置中加大 FastCGI 超时,并同步提高 php.ini 中的 max_execution_time。
# Inside the site's Nginx config (location ~ \.php$ or server block)
fastcgi_connect_timeout 60s;
fastcgi_send_timeout 300s;
fastcgi_read_timeout 300s;手动修改站点配置、伪静态或添加 SSL 后,若 Nginx 无法启动或所有网站打不开,首先测试配置语法。nginx -t 会指出出错的文件和行号,修正后再 reload。若提示 80/443 端口被占用,用 ss 查看是哪个程序占用。
/www/server/nginx/sbin/nginx -t
/etc/init.d/nginx reload
# Debian / Ubuntu / CentOS: see what holds port 80/443
ss -lntp | grep -E ":80 |:443 "磁盘写满后会出现面板无法登录、MySQL 停止、网站报错等连锁问题。按下面命令找出占用最大的目录:常见的“大户”是网站日志 /www/wwwlogs、本地备份 /www/backup 和 MySQL 二进制日志。正在被写入的日志请用 truncate 清空而不是直接删除。也要用 df -i 检查 inode 是否耗尽(大量小文件、session 文件常见)。更多清理思路见“磁盘空间不足处理”教程。
df -h
df -i
du -h --max-depth=1 /www 2>/dev/null | sort -h | tail -n 15
du -sh /www/wwwlogs /www/backup /www/server/data 2>/dev/null
# Empty (not delete) a huge log that is still open
truncate -s 0 /www/wwwlogs/example.com.log
# Purge old MySQL binary logs (run in mysql -uroot -p)
PURGE BINARY LOGS BEFORE NOW() - INTERVAL 3 DAY;可以改用 /etc/init.d/bt default 或 /etc/init.d/bt restart。如果该文件也不存在,说明面板文件损坏,可在备份数据后用官方脚本修复或重新安装面板。
多半是内存不足或子进程数设置过高导致进程被系统杀掉,检查 free -m 和 dmesg 中的 OOM 记录,适当降低子进程数或添加 Swap(参考“Linux 添加 Swap”教程),必要时升级配置。
说明之前设置了授权 IP 或绑定域名。在 bt 菜单中选择对应的“取消 IP 访问限制”或“取消域名绑定”选项即可恢复访问。
如按以上步骤仍无法解决,请提交工单联系 IMIDC 7×24 技术支持,并附上服务器 IP、操作系统版本、执行过的命令和报错截图,方便工程师快速定位问题。