問題タブ [gunicorn]
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.
django - Gunicorn、Django、およびコードの読み込みが遅い...?
私のコードはmatplotlibを使用しており、ロードには1〜2秒かかります(そうです)。問題は、Gunicornに送信kill -HUP <pid>
するときに、Gunicornへの次のリクエストがリクエスト時に実際のコードをロードすることです。これには1〜2秒かかります。
ユーザーにその1、2秒待たせたくありません。私はウェブサイトにアクセスしurllib2.urlopen()
て、いくつかのインスタンスにコードをロードするように強制して遊んでいますが、すべてのワーカーがコードをロードしたことを保証することはできません。
リクエスト時にコードをロードするバックエンドと、コードが開始されたときのバックエンドを回避するにはどうすればよいですか?問題のある低速読み込みモジュールをsettings.pyに配置しますか?
django - gunicorn と django プロジェクト (アプリなし)
Django プロジェクトがあり、gunicorn/nginx でデプロイしたいと考えています。しかし、djangoアプリを起動せずにsettings.py urls.py views.pyを直接使用しており、gunicornにはアプリケーション名が必要です。
アプリのない django プロジェクトを展開するにはどうすればよいですか。
django - Nginx + Gunicorn POST リクエスト エラー
gunicorn を使用する django アプリケーションのプロキシとして nginx を使用していますが、ある時点で別のサイトから POST リクエストを受信するという問題があります。
nginx が POST リクエストを適切に gunicorn デーモンにリダイレクトしないことが問題のようです。
これを修正するにはどうすればよいですか。必要なのは、djangoアプリが処理するためにgunicornデーモンに到着したときにPOSTリクエストを送信できるようにすることです...ありがとう...
これは私のnginx confです
更新 POST を送信するアプリが BAD REQUEST エラーを受信しています... resty または curl を使用して手動で POST を作成すると、サーバーに投稿メッセージが渡されます...
python - GunicornがDjangoアプリケーションをリロードしない
virtualenv内で実行されているDjango1.3アプリケーションとgunicorn0.12.1で、一貫性のないコードの再読み込み動作が発生しています。
特定のgunicornプロセスPIDを再起動しても、Gunicornはアプリケーションを正しくリロードしません。基本を実行する場合runserver
(Djangoを介して、manage.py
コマンドを介して)、これは問題ではありません。
virtualenvを削除して再作成すると、gunicornは新しいコードで期待どおりに実行されます。
Pythonキャッシュか何かがありますか?また、すべての*.pyc
ファイルを削除しようとしました。
django - Gunicorn が png を提供していない
表や棒グラフなど、さまざまな形式でデータを表示する Django アプリを開発しています。matplotlib を使用して棒グラフを png として作成します。次に、次のコードを使用してそれを返します。
組み込みの Django 開発サーバーを使用すると、すべて正常に動作します。ただし、使用する場合:
棒グラフ以外はすべて機能します。棒グラフの代わりに URL が表示されます。png 画像を表示するには、nginx を実行する必要がありますか?
編集
カールからの出力:
django - nginx+gunicorn で動作する django-registration を取得できません
Apache2 と mod_wsgi の下のステージング サーバーにデプロイされた Django プロジェクトがあり、正常に動作していました。django-registration アプリケーションを使用します。
サーバーをnginxに切り替え、Djangoプロジェクトをgunicornで実行しようとしました。プロジェクトは正常にロードされましたが、/admin および /user/logout (デフォルトは django-registration の /account) にアクセスしようとすると、「URL という名前のモジュールがありません」というエラーが表示されます。私は何時間も髪を引き裂きました。urls.py の登録 URL 行をコメントアウトすると、登録モデルがないことを除いて、管理者は正常に表示されました。したがって、登録が失敗したため、管理者は失敗しただけでした。
理想的には、nginx/gunicorn のセットアップを使用してプロジェクトを本番環境にプッシュしたいと考えていますが、登録がうまくいかないようです。登録を削除し、ソースから 0.8 をインストールし、それを削除し、0.7 を pip でインストールしてみましたが、何も機能しませんでした。うまくいったのは、nginxを停止してからapacheを再度実行することでした。したがって、基本的に、プロジェクトは、使用されている Web サーバーの種類を除いて変更されていません。
登録は Apache/mod_wsgi で問題なく機能しているように見えるので、そのセットアップで本番環境にプッシュしたくなります...しかし、試してみると、gunicorn で登録が機能しない理由を知りたいと思っています。どんな助けでも大歓迎です。
django - Django + nginx + gunicorn で 502 エラーが発生します。非常に少ないログ情報
サーバーをこのように構成しました(これはubuntu 10.10の新規インストールです)
nginx + gunicorn + django + Supervisord で実行
サイトにアクセスしようとすると、502 エラーが発生します。これはエラーログに表示されます:
ここに私のnginx.confがあります http://pastebin.com/t0V2yFxr
ここに私のsupervisord.confがあります http://pastebin.com/pqVqRLSk
と私の gunicorn.conf
Sudo Supervisordctl status を実行すると
何も返しません。したがって、これは適切に実行されていないと思われます。ただし、エラーを示す Supervisord.log ファイル (/var/log/ または /code/[]/logs/ 内) または gunicorn.log はありません。
したがって、これをまったくデバッグできません。このターキンの世話をする方法について何か提案はありますか?
python - Django Gunicorn:メタクラスベースを呼び出すときにエラーが発生しました
カスタムモデルフィールド(および付随するフォームフィールド)を含むDjangoアプリケーションがあります。組み込みの開発サーバーを使用してプロジェクトを実行すると、正常に動作します。ただし、サーバーにgunicornをロードすると、次のエラーが発生します。
完全を期すために、以下にエラー全体を含めました。これは、障害のある行を示しています。
トレースバックからわかるように、問題の原因となっている行(の43行目fields.py
)は通常のsuper
呼び出しです。このエラーが発生している理由について何か考えがありますか?上記の問題の原因となっているメソッドを削除すると、さまざまな場所でも発生します。
django - ProxyPassReverse にもかかわらず、mod_proxy を介した gunicorn がプロジェクトのスコープ外にリダイレクトしています
私は WSGI アプリ (Django プロジェクト) を gunicorn で実行しており、mod_proxy で Apache を使用して からに127.0.0.1:18731
リクエストをリダイレクトしています。静的ファイルは の外部に保存されます。Django アプリが何もリダイレクトする必要がない場合、これは問題なく機能しますが、リクエストをリダイレクトしようとすると (たとえば、末尾のスラッシュを に追加する)、最終的に URL から削除され、無効な URL が残ります。http://example.com/my-project/*
http://127.0.0.1:18731/*
/my-project/
http://example.com/my-project/foo
/my-project/
http://example.com/foo/
私の mod_proxy 構成は次のとおりです。
/my-project/
移植性のために、Django がすべての URL にプレフィックスを付けることを強制したくありません。Apache はどうやらこの行で独自にプレフィックスを処理しているはずProxyPassReverse
です。私は何を間違っていますか?
django - 単一サーバーへの Django のシームレスなデプロイ
Django と Python 2.6 で構築された新しい Web サイトをクラウドにデプロイしました (流行語に準拠し、Amazon マイクロ EC2 インスタンスは無料です!)。
詳細なメモは次のとおりです。
これは新しいサイトなので (そして最新かつ最高のサイトでプレイしたいので)、Supervisor の上に Nginx と Gunicorn を使用しました。
YUM / easy_install を使用してトランクからインストールされたすべてのソフトウェア。
私のデータベースはSqliteです(今のところ-次にどこに行くべきかはわかりませんが、それは問題ではありません). todo リストにもあります: virtualenv + pip。
ここまでは順調ですね。
私のコードはSVNにあります。デプロイする単純な fabfile を作成しました。最新のコードをチェックアウトし、Supervisor を介して Gunicorn を再起動します。DNS 名を Elastic IP にフックしました。
できます。
私の質問は、サービスを中断せずにサイトを更新するにはどうすればよいですか? 小さな更新スクリプトを実行すると、サイトのユーザーに 404 / 500 が返されます。
別のサーバーを追加せずにこれを行う方法はありますか (価格が重要です)?
ステージング システム (別のポート上?) と、ステージングと本番の間のシームレスな切り替えが欲しいです。同じ(無料)サーバー上。ファブリック経由。
それ、どうやったら出来るの?両方のサイトを実行しているのは同じ Nginx ですか? 本番環境に影響を与えずにステージングをアップグレードできますか? ファブファイルはどのようになりますか? ディレクトリツリーはどのようになりますか?
ありがとう!
タル。
関連している: