2017-09-12 14 views
0

私はdjangoプロジェクトを持っていて、最近はウェブソケットを使用するためのチャンネルを追加しました。これはうまくいくようですが、問題は生産を準備することです。DjangoチャンネルNginxプロダクション

Nginx web server 
Gunicorn for django 
SSL enabled 

を私はミックスにチャンネルを追加したので、次のように

私のセットアップがあります。私は最後の日を働かせようと努力しました。

すべてのturtotialsで、あなたはいくつかのポートでdaphneを実行し、そのためにnginxを設定する方法を示しています。

しかし、ジャンゴンにはジャンゴを提供するのはどうですか?どのようにこのDjangoプロジェクトのその額面を知っている必要があります -

は、だから今、私は別のポートでジンチョウゲを実行する場合は、8002を言うことができます8001

にこのDjangoアプリケーションを実行しているguncornしていますか?そして、労働者を雇うのはどうですか?

Gunicorn、Daphne、runworkersはすべて一緒に走るべきですか?

+0

本当に両方が必要な場合はわかりません。私はダフネと仕事をしていないので、間違っているかもしれません。このヘルプのスレッドがあるかどうかを確認してください。https://stackoverflow.com/questions/42417919/deploy-to-docker-with-nginx-django-daphne –

答えて

0

私は最近、類似したquestionに答えました。そこには、djangoチャンネルの仕組みについての説明があります。

基本的には、もうガンコンは必要ありません。 HTTP/Websocketを受け入れるインターフェイスサーバーであるdaphneがあり、djangoビューを実行するワーカーがいます。そして、明らかにあなたはすべてを一緒に接着するあなたのチャンネルバックエンドを持っています。

$ daphne my_project.asgi:channel_layer

とあなたの労働者:

$ python manage.py runworker

NB

は、それはあなたがsettings.pyでCHANNEL_LAYERSを設定し、また、インタフェース・サーバを実行する必要が動作するように!チャネルバックエンドとしてredisを選択した場合、提供しているファイルサイズに注意してください。大きな静的ファイルがある場合は、NGINXがそれらに対応しているかどうかを確認してください。そうしないと、メモリ不足による再発の可能性がある潜在的なエラーが発生します。

+0

daphneにHTTP用のWSGIとして使用することは推奨しません。 HTTPトラフィックを受信して​​いる銃器労働者よりも –

関連する問題