ウェブサービス障害トラブルシューティングガイド
ServBayは、デフォルトのウェブサーバーとしてCaddy、NGINX、Apacheをサポートしています。日常的な使用の中で、ユーザーはウェブサイトが開けないなどの問題に遭遇することがあります。以下は、一般的な問題の解決方法です。
ServBay内蔵ツールでのトラブルシューティング
ServBayには非常に強力な障害診断ツールが内蔵されています。私たちは、ServBayのトラブルシューティングツールを使用して、自己診断と問題解決を行うことをお勧めします。
ServBayアプリを開き、左側のナビゲーションで障害診断
を見つけると、ServBayの障害診断ツールに入ることができます。
設定ファイルの確認
Caddyfileの確認
Caddyに内蔵されている検証機能を使用して、Caddyfileが正しいかどうかを確認します。以下のコマンドを実行してください。
$ /Applications/ServBay/bin/caddy validate -c /Applications/ServBay/etc/caddy/Caddyfile
Valid configuration
というメッセージが返された場合、すべてが正常であることを意味します。それ以外のエラーコードが返された場合は、エラーコードの指示に従って次の手順を実行してください。(注:上記のコマンドは大量のINFOおよびWARN出力を生成しますが、これは正常な動作であり、サービスの正常稼働には影響しません)
証明書エラー
loading certificates: open xxxxx: no such file or directory
というようなエラーが表示された場合、証明書ファイルが存在しないことを意味します。証明書ファイルのパスが正しいかどうかを確認してください。
2024/12/09 17:24:16.970 INFO using config from file {"file": "/Applications/ServBay/etc/caddy/Caddyfile"}
2024/12/09 17:24:16.991 INFO adapted config to JSON {"adapter": "caddyfile"}
2024/12/09 17:24:16.991 WARN Caddyfile input is not formatted; run 'caddy fmt --overwrite' to fix inconsistencies {"adapter": "caddyfile", "file": "/Applications/ServBay/etc/caddy/Caddyfile", "line": 8}
2024/12/09 17:24:16.999 INFO tls.cache.maintenance started background certificate maintenance {"cache": "0x1400121f300"}
2024/12/09 17:24:17.006 INFO tls.cache.maintenance stopped background certificate maintenance {"cache": "0x1400121f300"}
Error: loading http app module: provision http: getting tls app: loading tls app module: provision tls: loading certificates: open /Applications/ServBay/ssl/private/tls-certs/mail.servbay.host/mail.servbay.host.1crt: no such file or directory
2
3
4
5
6
7
ウェブサイトのディレクトリエラー
parsing caddyfile tokens for 'root': too many arguments
というエラーが発生した場合、ウェブサイトのディレクトリパスに空白が含まれていないか確認してください。これは非常に一般的なエラーです。
例えば、root * /Applications/ServBay/www/public web
のように、public
とweb
の間に空白があると、2つの引数として扱われエラーが発生します。正しい設定方法は、パスをダブルクオーテーション(")で囲むことです。例えば、root * "/Applications/ServBay/www/public web"
のようにします。
ファイル名やパスに空白や特殊記号を含めないことを強くお勧めします。単語の区切りには-
や_
を使用することができます。例えば、public-folder
やpublic_dir
のように設定します。
2024/12/09 17:26:37.371 INFO using config from file {"file": "/Applications/ServBay/etc/caddy/Caddyfile"}
Error: adapting config using caddyfile: parsing caddyfile tokens for 'root': too many arguments; should only be a matcher and a path, at /Applications/ServBay/etc/caddy/Caddyfile:1388
2
3
Rewriteルールエラー
Caddyで不正なRewriteルールを使用している場合、例えば直接NGINXのルールを使用すると、エラーが発生することがあります。
NGINX設定の確認
以下のコマンドを使用して、NGINXの設定が正しいかどうかを確認します:
$ /Applications/ServBay/bin/nginx -t
設定が正しい場合、次のように表示されます:
nginx: the configuration file /Applications/ServBay/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /Applications/ServBay/etc/nginx/nginx.conf test is successful
2
一般的なエラーには以下が含まれます:
- 文法エラー(セミコロンの欠落など)
- ファイルパスエラー
- ポートの衝突
Apache設定の確認
以下のコマンドを使用して、Apacheの設定を確認します:
$ /Applications/ServBay/bin/apachectl configtest
一般的なエラーには以下が含まれます:
- モジュールの読み込み失敗
- .htaccessファイルの文法エラー
- ディレクトリ権限の設定ミス
500エラーの処理
500内部サーバーエラーは一般的なウェブサーバーのエラーで、さまざまな原因によって引き起こされる可能性があります:
一般的なトラブルシューティング手順
サーバーエラーログを確認:
- Caddy:
/Applications/ServBay/var/logs/caddy/error.log
- NGINX:
/Applications/ServBay/var/logs/nginx/error.log
- Apache:
/Applications/ServBay/var/logs/apache/error.log
- Caddy:
PHPサービスが起動しているか確認する:
bashps aux | grep php-fpm
1PHPエラーの確認(PHPを使用している場合):
/Applications/ServBay/var/logs/php/php_error.log
ファイル権限の確認:
bash$ ls -la /Applications/ServBay/www/your-site
1ウェブサーバーユーザーに読み取り権限があることを確認してください。
Caddy特有の500エラー
- FastCGI設定が正しいか確認
- PHP-FPMサービスが稼働しているか確認
- リバースプロキシ設定の検証
NGINX特有の500エラー
fastcgi_pass
設定が正しいか確認client_max_body_size
が十分な大きさか確認try_files
ディレクティブの設定を確認
Apache特有の500エラー
mod_rewrite
が有効か確認.htaccess
ファイルの内容を検証AllowOverride
設定の確認
サービス管理
サービスの再起動
設定を変更した場合は、該当するサービスを再起動する必要があります:
# Caddy
$ servbayctl restart caddy -all
# NGINX
$ servbayctl restart nginx -all
# Apache
$ servbayctl restart apache -all
2
3
4
5
6
7
8
サービスの状態確認
# Caddy
$ servbayctl status caddy -all
# NGINX
$ servbayctl status nginx -all
# Apache
$ servbayctl status apache -all
2
3
4
5
6
7
8
高度なトラブルシューティング
上記の方法で問題が解決しない場合、次の対策を試してください:
- 一時的にファイアウォールを無効にしてテスト
curl -v
を使用して詳細なリクエスト情報を確認- 異なるブラウザ/デバイスでテスト
- DNS解決が正しいか確認
さらなる支援が必要な場合は、ServBayサポートチームにお問い合わせください。