開始輸入,可搜尋發票、服務、域名、工單,以及 更多...
使用寶塔面板(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、作業系統版本、執行過的命令和報錯截圖,方便工程師快速定位問題。