PostgreSQLと通信するページで502 Bad Gateway


press
PostgreSQLと通信するページで502 Bad Gateway

PostgreSQLと通信するページで502 Bad Gateway

Djangoで開発したWebアプリでPostgreSQLと通信するページにアクセスした時に、502 Bad Gatewayが発生したので調べた内容と解決法です。

502 Bad Gatewayが発生後、DjangoのデバッグモードをTrueにして確認してみましたが、エラー内容は表示されなかったので、sudo less /var/log/uwsgi.logでuWSGIのログを確認したところ、以下のエラーが確認できました。
実際にはXXXXXはプロセス番号の数字です。

!!! uWSGI process XXXXX got Segmentation Fault !!!
*** backtrace of XXXXX ***

エラーの原因

調べるとpsycopg2が原因らしいので、pip uninstall psycopg2して確認されるのでyを押して実行します。そして、再インストールすると今度は以下のエラーが出ました。

ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

このエラーの前文を確認すると以下の文章がありました。

Error: b'You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.\n'

postgresql-server-dev-X.Yかlibpq-devのインストールが必要とあるので、sudo apt install libpq-devを実行してからpsycopg2を再インストールすると無事にインストール出来ました。そして502 Bad Gatewayも出ずに通常通りページが表示される様になりました。


株式会社ファントムへのお問い合わせ

当ブログは群馬県でPythonを使ったAIやシステムを開発している株式会社ファントムが運営しています。




    Show Comments (0)

    Comments

    Related Articles

    Django

    Djangoでカスタムコマンドを作り実行する

    DjangoでWEBアプリケーションを開発していてデータベースの集計などをバッチ処理したいときに、カスタムコマンドを作り実行する方法です。 今回はサンプルとしてmycommandアプリケーションを作成するので以下のコマン […]

    Posted on by press
    Django

    django-import-exportで管理画面からCSVをインポート

    django-import-exportで管理画面からCSVをインポート 情報を登録する際に一件づつ入力せずにCSVからまとめてインポートして登録が行えるので初期情報を登録する時などに便利な方法です。 コードはGitHu […]

    Posted on by press