問題タブ [daphne]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Django /admin は /usr/src/app/admin にリダイレクトします
Dockerコンテナで実行されているDjango 1.9.6アプリケーションがあります。docker コンテナーには、静的ファイルを提供するように構成された nginx があります。
/admin にリンクすると /admin ページに移動しますが、リンクをクリックすると/usr/src/app /admin/api/module/に移動します
Django はディレクトリ /usr/src/app から実行されていることがわかります。
設定に追加しようとしFORCE_SCRIPT_NAME=''
ましたが、これは役に立ちませんでした。
Django アプリは Daphne 経由で実行されています (チャネルを使用しているため)
nginx の設定は次のとおりです。
python - Django シグナルがマルチコンテナ セットアップのチャネルで機能しない
私はdjango appを持っており、 channelsとchannels apiでwebsocketサポートを実装しています。モデルへのバインディングでデマルチプレクサを使用しています。たとえば、モデルを保存すると、開いている websocket 接続に変更が送信されます。私が実行./manage.py runserver 0:80
してすべてを1つのコンテナに収めれば、すべてが正常に機能します。しかし、アプリを UWSGI、daphne、および docker を使用するワーカー コンテナーに分離すると、シグナルはトリガーされません。たとえば、セロリ ワーカー (タスク) が信号をトリガーし、websocket 経由で更新を送信するようにします。マルチコンテナのセットアップでは、WebSocket 接続は正常に確立され、Web は正常に動作しますが、そのシグナルをトリガーするものは何もありません。
シグナルがどのように定義されているかは、こちらのgithubで確認できます。
私はdjango 1.9.12、python 2.7、dockerを使用しており、debian stretchでビルドしています。
docker-compose.yml
nginx.conf
nginx - WebSocket ハンドシェイク中の 502 Bad Gateway
私のアプリは以下を使用します:
ジャンゴチャンネル
nginx
daphne (Django Channels HTTP/WebSocket サーバー)
フロントエンドの html ファイルには、次のような JavaScript の行がいくつかあります。
アプリのこの websocket 部分は機能しません。ページを読み込むと、Chrome Web Inspector は次のように言います。
サイトの残りの部分は正常にロードされます。
daphne を次のように開始します: daphne -b 0.0.0.0 -p 8001 ...
そしてnginxの設定はこれです:
私のホストマシン上の myapphostname のホストファイルはもちろん設定されており、アプリの IP を指しています (vagrant を介して vm で実行されています)。
現時点では、アプリの構成ミスがnginxサイトではないのか、websocketsバックエンド部分で発生しているのかはわかりません。
問題をさらにデバッグするために、どの方向に進むことができるのだろうか。
django - Daphne サーバー コマンドが使用できない
私はチャネルを使用して django アプリを作成し、それを でテストしましたpython3 manage.py runserver
。これは、私が理解しているように、コマンドの一部として Daphne サーバーを実行します。ドキュメントに従って、いくつかのワーカーなどでスタンドアロンの Daphne サーバーを実行して、アプリをデプロイしたいだけです。daphne
問題は、ターミナルでコマンドを使用できないようです。実行daphne my_project.asgi:channel_layer
すると、端末に daphne コマンドが見つからないことが通知されます。(関連する場合は、Ubuntu 17.10を実行しています)
pipを使用してchannelsパッケージをインストールすると、Daphneが確実にインストールされました。実行pip3 install daphne
すると、関連するすべてのパッケージがあり、インストールが最新であると表示されます。私はここで愚かなことをしていますか?これは他の誰にとってもうまくいくようです。daphne コマンドを使用してサーバーを起動できるようにするにはどうすればよいですか?
django - django で Daphne 2.0 を使用して静的メディアを提供する方法
私はdaphneが初めてで、daphneで実行されているdjangoアプリをubuntuサーバーにデプロイする方法を知りたいです。ドキュメントに記載されているようにアプリを既に構成しており、静的ファイル (js、css、imgs など) が読み込まれないことを除いて、正常に動作します。私は何をする必要がありますか?