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 / Djangoを中心にウェブアプリケーションを開発している株式会社ファントムが運営しています。

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




Show Comments (0)

Comments

Related Articles

Django

Djangoで日本語文字列のQuerySetを五十音順でソートする

DjangoのWEBアプリケーションでQuerySetの表示順を五十音順にしたら、開発環境では五十音順で表示されているのに本番環境では五十音順になっていないときの対処法です。(中途半端に五十音順になっていて、4、5件毎に […]

Posted on by press
Django

Pandasで作ったCSVをダウンロードする

Django上でPandasで作ったCSVをダウンロードさせる方法です。df.to_csv(“filename.csv”)でも出力は出来ますがダウンロードは出来ないので、ダウンロード機能が必要な場 […]

Posted on by press