Start typing to search across invoices, services, domains, tickets, and more...
aaPanel/宝塔パネルで特に多いトラブルは、パネルが開けない、PHP サイトの 502/504 エラー、ディスク満杯、パネルのパスワード忘れです。この記事では Debian/Ubuntu、CentOS/Rocky/AlmaLinux 上の宝塔 Linux パネルを対象に、症状ごとの確認コマンドと対処法をまとめます。ほとんどの作業は SSH で行います。接続方法は「SSH ログイン」記事をご覧ください。
最近のバージョンでは、インストール時にランダムなポートと「安全入口」パスが生成されるため、IP:8888 に直接アクセスしてもエラーになることがよくあります。SSH でログインして bt default を実行するか、bt でメニューを開いて 14(パネルの既定情報を表示)を選ぶと、完全な URL、ポート、既定アカウントが表示されます。パネル自体が停止している場合は 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 restartURL が正しいのにアクセスできない場合、多くはポートが遮断されています。パネルが待ち受けているポートを確認し、OS のファイアウォールで許可します(例は 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 や MySQL のスロークエリログで原因を特定します。長時間の処理がどうしても必要なら、サイトの 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 の枯渇(小さなファイルやセッションファイルの大量発生)も確認しましょう。詳しくは「ディスク容量不足の対処」記事をご覧ください。
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 の 24 時間 365 日対応テクニカルサポートへお問い合わせください。サーバー IP、OS のバージョン、実行したコマンド、エラー画面のスクリーンショットを添えていただくと、より早く原因を特定できます。