ホームページ >運用・保守 >Linuxの運用と保守 >ECS インスタンスで実行されている Web サイトを開けない場合のトラブルシューティングを迅速に行う方法
この記事の内容は、ECS インスタンスで実行されている Web サイトが開かない場合のトラブルシューティングを簡単に行う方法に関するものです。必要な方は参考にしていただければ幸いです。
簡単なトラブルシューティング ECS インスタンスで実行されている Web サイトを開けません
Linux インスタンスで実行されている Web サイトを開けません
こちら デモシステムはCentOS 6.8です。実際の状況に応じて選択してください。
1. ポート 80 が使用できない場合のトラブルシューティング
コマンド netstat -an grep 80 を実行して、TCP ポート 80 が監視されているかどうかを確認します。次のいずれかの結果が返された場合、TCP ポート 80 の Web サービスが開始されたことを意味します。
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN # ネットワーク全体の監視
tcp 0 0 127.0.0.1:80 0.0.0.0:* LISTEN # ローカル監視
このうち、ローカル監視では、外部ネットワークから Web サービスにアクセスできなくなります。 Nginx、Tomcat、および IIS を参照して、ポート監視をネットワーク全体の監視に変更します。
最初のステップが失敗した場合:
インスタンスのセキュリティ グループがポート 80 を許可しているかどうかを確認します。 「セキュリティ グループ ルールの追加」を参照してください。
インスタンス iptables がポート 80 を許可しているかどうかを確認します。
telnet とtraceroute を使用して、ポート 80 の接続と切断を追跡します。 ping パケットが失われた場合、または使用できない場合のリンク テストの手順を参照してください。
クラウド サーバーの帯域幅がいっぱいかどうかを確認します。クラウドサーバーECS Linuxサーバーの異常な全帯域幅の分析と解決策を参照してください。
2. Web サービスが利用できない場合のトラブルシューティング
管理端末を使用してインスタンスにログインします。
Web サービス ログ (パス /usr/local/var/log/nginx/ など) を表示して、CentOS 6.8 Nginx サービス ログを保存します。
top を使用してインスタンスの実行状況を確認し、異常なプロセスがないか確認します。
コンソールのインスタンス監視情報を確認して、インスタンスの帯域幅がいっぱいかどうかを確認し、いっぱいの場合は、インスタンスの帯域幅をアップグレードしてみてください。
インスタンスの CPU/メモリが枯渇していないか確認してください。クラウド サーバー ECS Linux システムでの高い CPU 使用率に関するトラブルシューティングのアイデアを参照してください。
インスタンスのポート 80 に TCP リンクが多すぎるかどうかを確認します。
TCP 接続の数をカウントするには、netstat -anp |grep tcp |wc -l を使用します。
/etc/sysctl.conf 設定ファイルの net.ipv4.tcp_max_tw_buckets の最大値を比較して、超過があるかどうかを確認します。それを超える場合:
vi /etc/sysctl.conf を実行してファイルを編集し、net.ipv4.tcp_max_tw_buckets パラメータをクエリします。接続使用量が多いことが確認されると、制限を超えてしまう可能性があります。
パラメータ net.ipv4.tcp_max_tw_buckets を増やして、制限を拡張します。
コマンド sysctl -p を入力して、構成を有効にします。
Windows インスタンスで実行されている Web サイトを開けません
ここでのデモ システムは Windows Server 2008 です。実際の状況に基づいて選択してください。
1. ポート 80 が使用できない場合のトラブルシューティング
コマンド netstat -ano :80 を実行して、TCP 80 が監視されているかどうかを確認します。以下のいずれかの結果が返された場合は、TCP ポート 80 の Web サービスが開始されていることを意味します。
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 1172 # ネットワーク全体の監視を示します
TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 1172 # ローカル監視を示します
このうち、ローカル監視により、外部ネットワークが Web サービスにアクセスできなくなります。netsh http delete iplisten ipaddress= 127.0.0.1:80 を実行して、Web サービスにアクセスできます。ネットワーク監視。
最初のステップが失敗した場合:
インスタンスのセキュリティ グループがポート 80 を許可しているかどうかを確認します。 「セキュリティ グループ ルールの追加」を参照してください。
インスタンスのファイアウォールがポート 80 を許可しているかどうかを確認します。 Windows ファイアウォールがポート/IP/アプリケーションのアクセスを制限する方法と、例外を構成する方法をご覧ください。
telnet とtracert を使用して、ポート 80 の接続と切断を追跡します。 ping パケットが失われた場合、または使用できない場合のリンク テストの手順を参照してください。
クラウド サーバーの帯域幅がいっぱいかどうかを確認します。 Windows インスタンスの帯域幅と CPU がフルまたはハイの場合のトラブルシューティングを参照してください。
2. Web サービスが利用できない場合のトラブルシューティング
管理端末を使用してインスタンスにログインします。
Web サービス ログを表示します。たとえば、Windows Server 2008 IIS サービス ログの場所は %SystemDrive%\inetpub\logs\LogFiles\W3SVC4 です。
タスクマネージャーでインスタンスの実行状況を確認し、異常なプロセスがないか確認してください。
コンソールのインスタンス監視情報を確認して、インスタンスの帯域幅がいっぱいかどうかを確認し、いっぱいの場合は、インスタンスの帯域幅をアップグレードしてみてください。
インスタンスの CPU とメモリが枯渇していないか確認してください。 Windows インスタンスの帯域幅と CPU のフル使用率または高使用率のトラブルシューティング、またはクラウド サーバー Windows インスタンスの CPU 使用率の高さのトラブルシューティングとツールの推奨事項を参照してください。
インスタンスのポート 80 に TCP リンクが多すぎるかどうかを確認します。
次のコマンドを実行して、TCP 接続の数をカウントします。
netstat -n |find /i "time_wait" /c netstat -n |find /i "close_wait" /c netstat -n |find /i "established" /c
統計的な TCP 接続の数が多すぎる場合は、TcpTimedWaitDelay を 30 秒に調整します。デフォルト値は 4 分 (240 秒) です。 ):
CMD を開き、コマンド regedit を実行します。
「HKEY_LOCAL_MACHINE」>「CurrentControlSet」>「TCPIP」パラメータを見つけます。
TcpTimedWaitDelay パラメータがない場合:
[パラメータ] を右クリックし、[新しい DWORD (32 ビット) 値] を選択します。
「TcpTimedWaitDelay」と入力し、Enter キーを押して確認します。
[TcpTimedWaitDelay] を右クリックし、[変更] をクリックして、[10 進数] をオンにし、数値データとして 30 を入力して、[OK] をクリックします。
以上がECS インスタンスで実行されている Web サイトを開けない場合のトラブルシューティングを迅速に行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。