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とChannelsで簡単なチャットサーバーを構築(3)

前回からの続きです。 チャンネルレイヤーを有効化 チャンネルレイヤーを使用するためにバックエンドにRedisを使用します。Redisを使用するためにDockerを起動します。 以下のコマンドを実行してRedisを起動しま […]

Posted on by press
Django

DjangoでダウンロードするCSVの文字コードを設定

以下のような、attachmentをつけて即ダウンロードが始まるシステムで、文字コードをShift-JISにする為にto_csv()の引数にencodingをShift-JISに設定しても、ダウンロードするとUTF-8で […]

Posted on by press