NGINX の 502 がモンスターと戦うふりをするまでの道について、nginx502 の road_PHP チュートリアル
NGINX 502 のモンスターと戦うふり、nginx502 への道について
ログを書く前に、とあるサイトから以下のような理由をコピペしておきます。最も重要なことは、ブロガーの手をノックするものを見ることです。
1. NGINX 502 エラーのトラブルシューティング
NGINX 502 Bad Gateway エラーは FastCGI の問題であり、NGINX を引き起こす
502 エラーの可能性が高くなります。オンラインで見つけたものと 502 Bad を組み合わせます
ここでは、ゲートウェイ エラーに関連する問題とトラブルシューティング方法のリストを示します。FastCGI の構成から始めましょう。
1.FastCGIプロセスが開始されているかどうか
2.FastCGIワーカープロセスの数が足りませんか
netstat -anpo grep "wc -l" を実行します。
FastCGI プロセスに近く、設定ファイルに設定された値に近いかどうかを判断します。これは、ワーカー プロセスの数の設定が少なすぎることを示しています
3.FastCGIの実行時間が長すぎる
実際の状況に応じて、以下のパラメータ値を調整します
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
4.FastCGIバッファが十分ではありません
nginxApacheと同様に、フロントエンドのバッファリング制限があり、バッファリングパラメータを調整できます
fastcgi_buffer_size 32k;
fastcgi_buffers 8 32k;
5.プロキシバッファが十分ではありません
プロキシを使用する場合は、調整してください
proxy_buffer_size 16k;
proxy_buffers 4 16k;
参照: http://www.server110.com
6.https 転送設定エラー
正しい設定方法
サーバー名 www.mydomain.com;
場所 /myproj/repos {
$fixed_destination $http_destination を設定します;
if ( $http_destination ~* ^https(.*)$ )
{
$fixed_destination http$1 を設定します;
}
proxy_set_header ホスト $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header 宛先 $fixed_destination;
proxy_pass http://subversion_hosts;
}
もちろん、バックエンドで使用する FastCGI の種類にも依存します。私は php-fpm を使用しましたが、トラフィックは 1 台のマシンで約 400,000 PV (動的ページ) でした。
現在、基本的に 502 は発生しません。
7.phpスクリプトの実行時間が長すぎます
php-fpm.confの<値を変更します。
name="request_terminate_timeout">0s の 0 を時刻に変更します
~~~~~~~~~~~~~~~~~~~~~~~~~~~ ゴージャスな分割線~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~
ブロガーが遭遇した問題は、コード内に参照によって渡され、502 に直接アクセスするパラメーターがあるためです。ブロガーがこの情報を見たとき、初めて display_errors を直接開いたときに、
その後、エラー表示がオンになったときに 502 が表示されず、いくつかの E_STRICT 警告が表示されるのはなぜだろうと疑問に思いましたが、何度もデバッグを行った後でも、理由を理解する方法はありませんでした。
苦痛で無駄な調整を数回繰り返した後でも、まだ無力感があるので、これで終わりとしか言いようがありません。
幸運なプログラマーである私は、何らかのトラブルの後、ローカルの仮想マシン環境にエラー ログ ファイルが書き込まれていないことを知りませんでした。設定には問題はありませんでしたが、エラー ログは書き込まれませんでした。 (ブロガーは通常、苦情を言わないでください) ページにはエラーが直接表示され、xdebug が追加されているので、私の毛深い雨については書かない方が良いと思います。 ) ブロガーの鋭い目と高度な頭脳 (この時代のブロガーはもう少し自己主張が強くなければなりません) は、ファイルのアクセス許可に問題があるはずだと感じ、それについて何かをすることにしました。 chmod 777 の優れたスキルを使用して、php-fpm を再起動し、エラー コードをテストしました。エラー ログ ファイルには期待どおりに書き込まれました。今朝の問題を思い返すと、エラー警告の出力がログに書き込まれたものと同じになるのではないかといつも疑問に思います。寝る 次に、それを裸で実行し、表示をブロックし、502 を報告しなくなり、エラー ログがスケジュールどおりにログ ファイルに書き込まれます。 nginx のエラーログを確認して再度プレイすると、nginx がなくなっていることがわかりました。 間違い。 よし!問題は、502 エラーが PHP のエラー ログの権限の問題によるものだと感じています。それを書き込む方法がなく、CGI に直接スローされるため、nginx は 502 を取得します。なぜそれが CGI に放り込まれたのかについては、私にはわかりません。理解できる人はフォローしてください。 いくつかの動き。 それはすごいですね。この贅沢な旅も終わりました。ありがとうテレビ、ありがとう両親、ありがとうブログパーク。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Tomcat サーバーが外部ネットワークにアクセスできるようにするには、以下を行う必要があります。 外部接続を許可するように Tomcat 構成ファイルを変更します。 Tomcat サーバー ポートへのアクセスを許可するファイアウォール ルールを追加します。 Tomcat サーバーのパブリック IP を指すドメイン名を指す DNS レコードを作成します。オプション: リバース プロキシを使用して、セキュリティとパフォーマンスを向上させます。オプション: セキュリティを強化するために HTTPS を設定します。

ThinkPHP フレームワークをローカルで実行する手順: ThinkPHP フレームワークをローカル ディレクトリにダウンロードして解凍します。 ThinkPHP ルート ディレクトリを指す仮想ホスト (オプション) を作成します。データベース接続パラメータを構成します。 Webサーバーを起動します。 ThinkPHP アプリケーションを初期化します。 ThinkPHP アプリケーションの URL にアクセスして実行します。

「nginx へようこそ!」エラーを解決するには、仮想ホスト構成を確認し、仮想ホストを有効にし、Nginx をリロードする必要があります。仮想ホスト構成ファイルが見つからない場合は、デフォルト ページを作成して Nginx をリロードすると、エラー メッセージが表示されます。が消え、ウェブサイトは通常のショーになります。

HTML ファイルを URL に変換するには Web サーバーが必要です。これには次の手順が含まれます。 Web サーバーを取得します。 Webサーバーをセットアップします。 HTMLファイルをアップロードします。ドメイン名を作成します。リクエストをルーティングします。

Node.js プロジェクトのサーバー デプロイメント手順: デプロイメント環境を準備します。サーバー アクセスの取得、Node.js のインストール、Git リポジトリのセットアップ。アプリケーションをビルドする: npm run build を使用して、デプロイ可能なコードと依存関係を生成します。コードをサーバーにアップロードします: Git またはファイル転送プロトコル経由。依存関係をインストールする: サーバーに SSH で接続し、npm install を使用してアプリケーションの依存関係をインストールします。アプリケーションを開始します。node Index.js などのコマンドを使用してアプリケーションを開始するか、pm2 などのプロセス マネージャーを使用します。リバース プロキシの構成 (オプション): Nginx や Apache などのリバース プロキシを使用して、トラフィックをアプリケーションにルーティングします。

はい、Node.js には外部からアクセスできます。次の方法を使用できます。 Cloud Functions を使用して関数をデプロイし、一般にアクセスできるようにします。 Express フレームワークを使用してルートを作成し、エンドポイントを定義します。 Nginx を使用して、Node.js アプリケーションへのリバース プロキシ リクエストを実行します。 Docker コンテナを使用して Node.js アプリケーションを実行し、ポート マッピングを通じて公開します。

PHP Web サイトを正常に展開して維持するには、次の手順を実行する必要があります。 Web サーバー (Apache や Nginx など) を選択する PHP をインストールする データベースを作成して PHP に接続する コードをサーバーにアップロードする ドメイン名と DNS を設定する Web サイトのメンテナンスを監視する手順には、PHP および Web サーバーの更新、Web サイトのバックアップ、エラー ログの監視、コンテンツの更新が含まれます。

Linux 管理者にとっての重要なタスクは、サーバーを違法な攻撃やアクセスから保護することです。デフォルトでは、Linux システムには、iptables、Uncomplicated Firewall (UFW)、ConfigServerSecurityFirewall (CSF) などの適切に構成されたファイアウォールが付属しており、さまざまな攻撃を防ぐことができます。インターネットに接続されているマシンはすべて、悪意のある攻撃のターゲットになる可能性があります。サーバーへの不正アクセスを軽減するために使用できる Fail2Ban と呼ばれるツールがあります。 Fail2Ban とは何ですか? Fail2Ban[1] は、ブルート フォース攻撃からサーバーを保護する侵入防止ソフトウェアです。 Python プログラミング言語で書かれています
