[Web/Error]Nginx 504,Nginx 502エラー解決



私が今回出会った間違い.
Nginx 504 Gateway Timeoutと
Nginx 502 Bad Gatewayエラーです
まずは5文字の冒頭を見ただけの間違いも怖い…
月曜日か月曜日かフロントから連絡がありましたが、
バックグラウンドサーバにリクエストできません.
何日も新しい導入が行われていないので、
サーバーで問題が発生.
確認後Nginx 504 Gateway Time-outエラーが発生しました

1. Nginx 504 Gateway Timeout


NginxをWebサーバとして使用する場合、504ゲートウェイのタイムアウトエラーが発生することがあります.
これは、サーバとクライアント間のエージェント接続時間がデフォルトの60秒を超えているためです.
だから私たちのnginxはconfファイルを参照しました.
...(윗부분 생략)

server {

  listen 80;

  location / {
    proxy_pass http://myplanit;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_redirect off;
  }

  location /static/ {
    alias /home/app/web/static/;
  }

  location /media/ {
    alias /home/app/web/media/;
  }
}

...(아랫부분 생략)
調べてみるとタイムアウトは設定されていませんでした.
したがって、デフォルトは60秒です.
サービスのアップグレードにより、サーバからクライアントへのエージェント接続時間がdefaultを超えたため、タイムアウトエラーが発生しました.
調べてみると、解決策が簡単だということがわかりました.
サーバはproxytimeoutを設定するだけです.
すなわち、対応するエージェント設定部の下に
(proxy redirectoff;下部)
    proxy_connect_timeout 300s;
    proxy_send_timeout 300s;
    proxy_read_timeout 300s;
    send_timeout 300s;
追加により接続時間が延長されました.
これからは本当に解決できると思います.
でもErrorの名前が変わったのでまたErrorが現れました

2. Nginx 502 Bad Gateway



実はこの間違いは...本当にどこから爆発したのか、直接コンテナに入って開けないと、どこから来たのかわかりにくいです.
DOKERコンテナに入るしかありませんlogsで開きましたㅠㅠ
Nginxサーバにtimeoutが設定されており、Nginxサーバを再起動しても動作しない.
本当に頑張ったグーグル検索結果、
💡Nginx-Guncornを使用して、2台のサーバでWebサイトを管理します.
Guncornもタイムアウトした可能性があります💡
まず、私が言いたいのは、私たちの開発環境です.
Client-Nignx-Guncorn-Django(ネットワークサーバはNginx、WSDIサーバはGuncorn)
したがって,Gucornの構成においてもGucornのタイムアウトフラグを追加する必要がある.
(Guncornのdefaultタイムアウトを30秒と呼びます)
Guncornの公式文書ページを表示するには、次の手順に従います.

command lineのオプションを使用すると、タイムアウトに他のコマンドを追加できます.
command: gunicorn myplanit.wsgi:application --bind 0.0.0.0:8000 --timeout=120
したがって、Webサーバ上でgunicornに設定したコマンドに以下のtimeoutオプションを追加することで、gunicornにもタイムアウトが設定されます.
その結果、サーバは正常に戻りました.
また、私の友达は私に今会社で長期開発者をしていると言いました.
502エラーは通常一時停止であり、
🔥WebサーバNginxが通過し、後のWASに問題が発生した場合、すべてのエラーは502と表示されます.🔥
私の友达はメモリの問題で502も間違っていると言った.
参考にすればいい
今回整理を間違えたら、
504 --> nginx timeout --> nginx timeout 설정으로 해결
502 --> gunicorn timeout --> gunicorn timeout 설정으로 해결
徐々にサービスアップグレードの段階に入り、
もっと多くの間違いに直面しているようだ.
ec 2容量爆発、エージェント接続時間がdefaultを超えるなど.
初期開発に比べて,現在では接触の誤りや状況が多く,学習も多い.楽観的になりたいです.🥰