タグ付けされた質問 「gunicorn」

12
スーパーバイザーが新しい構成ファイルをロードしない
GunicornとSupervisorを使用してDjangoアプリを展開する際に問題があります。Gunicornにアプリを提供させることはできますが(適切なPYTHONPATHを設定し、supervisord configからの適切なコマンドを実行することにより)、スーパーバイザーに実行させることはできません。アプリが表示されません。構成ファイルに問題がないかどうかを確認する方法がわかりません。 Supervisorctlの説明は次のとおりです。 # supervisorctl start myapp_live myapp_live: ERROR (no such process) 私はUbuntu 10.04で次の設定で実行しています: ファイル/home/myapp/live/deploy/supervisord_live.ini: [program:myapp_live] command=/usr/local/bin/gunicorn_django --log-file /home/myapp/logs/gunicorn_live.log --log-level info --workers 2 -t 120 -b 127.0.0.1:10000 -p deploy/gunicorn_live.pid webapp/settings_live.py directory=/home/myapp/live environment=PYTHONPATH='/home/myapp/live/eco/lib' user=myapp autostart=true autorestart=true /etc/supervisor/supervisord.confのファイルの最後には、次のものがあります。 [include] files = /etc/supervisor/conf.d/*.conf ここに私の設定ファイルへのシンボリックリンクがあります: # ls -la /etc/supervisor/conf.d lrwxrwxrwx 1 root root 48 …

3
server_nameなしで静的IPアドレスのみを使用するnginx?
これは私の最初のWebアプリの展開であり、あらゆる種類の問題に直面しています。 現在、Djangoアプリのnginx + gunicorn実装を探していますが、この質問のほとんどはnginxの構成に関連しています。一部のコンテキストでは、nginxはgunicornローカルサーバーへの接続とプロキシを受け取ります。 nginx構成では、それserver_nameを提供する必要がありますか?私はネットワークの外部IP(静的)とリッスンするポート番号を介して、いかなる種類のドメイン名も使用する予定はありません。 私の願いは、http://xxx.xxx.xxx.xxx:9050私がサイトにアクセスできるようなものにアクセスしたときです。 以下は、参考のために構成の基礎となるサンプルコードです。 server { listen 80; server_name WHAT TO PUT HERE?; root /path/to/test/hello; location /media/ { # if asset versioning is used if ($query_string) { expires max; } } location /admin/media/ { # this changes depending on your python version root /path/to/test/lib/python2.6/site-packages/django/contrib; } location / …
34 ubuntu  nginx  gunicorn 

1
gunicornのクリティカルワーカータイムアウトエラーを解決するにはどうすればよいですか?
nginxとgunicornを使用して、2つのサーバーでWebサイトをホストしました。 両方のサーバーに同じバージョンのパッケージがあり、ウェブサイトが正常にホストされていますが、 しかし、私のサーバーの1つでは、gunicornは常にタイムアウトになり、エラーが発生します [CRITICAL]Worker Timeout Booting worker with pid Worker cannot boot with pid そしてこの後、ウェブページに502 Badgatewayエラーが表示されます。Webサイトを表示するには、gunicornプロセスを再起動する必要があります。 エラーログは次のとおりです。 2014-02-16 14:29:53 [1267] [CRITICAL] WORKER TIMEOUT (pid:4994) 2014-02-16 14:29:53 [1267] [CRITICAL] WORKER TIMEOUT (pid:4994) 2014-02-16 14:29:53 [22140] [INFO] Booting worker with pid: 22140 そして、私はこのような連続的なエラーを受け取ります、 2014-02-16 14:29:53 [22140] [DEBUG] Ignoring EPIPE Ignoring EPIPE 2014-02-16 …
26 nginx  gunicorn 

1
Nginxを使用しないELBの背後にあるGunicornのキープアライブ設定
アプリのREST APIは、典型的な自動スケーリング/負荷分散セットアップを使用してAWS EC2インスタンスで実行されるGunicorn(Nginxの背後ではない)によって提供されます。ロードバランサーのアイドルタイムアウトは60秒で、Gunicornのキープアライブタイムアウトは2秒です。504 Gateway Timeoutこの構成から散発的な応答が見られました。Amazonのドキュメントによると、これはサーバーのキープアライブタイムアウトがロードバランサーのアイドルタイムアウト設定よりも低いためである可能性があります。 原因2:登録済みインスタンスがElastic Load Balancingへの接続を閉じています。 解決策2:EC2インスタンスでキープアライブ設定を有効にし、キープアライブタイムアウトをロードバランサーのアイドルタイムアウト設定以上に設定します。 Nginxの場合、デフォルトkeepalive_timeoutは75秒で、これはELBのデフォルト設定でうまく機能しているようです。ただし、Gunicornのドキュメントkeepaliveでは、1〜5秒の範囲の設定を推奨しています。 Gunicornのキープアライブを75秒に上げるのは理にかなっていますか?それとも、前にリバースプロキシを使用していないのに、5秒未満に保つ理由がありますか?

1
nginxは65kバイト後に接続を終了します
gunicornで実行されているPythonアプリケーションのフロントエンドとしてnginxを構成しましたが、約65kのデータが送信された後、nginxは接続を終了しています。 たとえば、次のようなビューがあります。 def debug_big_file(request): return HttpResponse("x" * 500000) しかし、nginxを介してそのURLにアクセスすると、65283バイトしか取得できません。 $ curl https://example.com/debug/big-file | wc … curl: (18) transfer closed with outstanding read data remaining 0 1 65283 gunicornに直接アクセスすると、すべてが期待どおりに機能することに注意してください。 $ curl http://localhost:1234/debug/big-file | wc … 0 1 500000 関連するnginx設定: location / { proxy_pass http://localhost:1234/; proxy_redirect off; proxy_headers_hash_bucket_size 96; } nginxバージョン1.7.0 他のいくつかの事実: …
11 nginx  gunicorn 

2
CherryPyアプリのデプロイ:スタンドアロン、WSGIサーバー、NGinx?
1つのVPSを使用して、トラフィックの少ない複数のCherryPyアプリをサブディレクトリとして展開するつもりです。例:example.com/app1、example.com/app2など WSGIのデプロイについて調べたところ、アプリのデプロイに推奨される方法は、WSGIサーバー(Gunicorn、uWSGIなど)とNGinxをリバースプロキシ設定で使用することです。特に私のCherryPyアプリ自体がWebサーバーであるため、2つのWebサーバーをタンデムで使用するのはやり過ぎのようですが、どこにでもあるので、このアイデアを却下したくありません。私は確かに専門家ではないので、話し合いたいと思います。 3つのオプションが表示されます。 CherryPyを単独でデプロイします。 Gunicornまたは別のWSGIサーバーの下にデプロイします。 WSGIサーバーの下にデプロイし、NGinxにリバースプロキシします。これは、みんなのソリューションのようです。 私の質問: どこにでもこのパターンが見られる主な理由は何ですか?NGinxはそれで良いのでしょうか? トラフィックの少ないアプリの場合、ネイティブのCherryPyサーバーで十分ですか、それとも試してはいけませんか? どんなアドバイスでもよろしくお願いします。

2
gunicorn + nginxでの長時間実行リクエスト
Djangoを利用したアプリケーション用の統合サーバーをまとめました。一部の機能はまだ実験段階であり、リクエストが非常に長くなります。 今のところ、パフォーマンスの低下は問題ありませんが、統合できるようにする必要があります。長いリクエストにつながる機能を使用すると、アプリは(予想どおり)ハングし、おそらく1分半後に「502-Bad Gateway」を返します。アプリの残りの部分は正常に動作します。 私はgunicornログをチェックしました、そしてこれが起こるときはいつでも私は 2012-01-20 17:30:13 [23128] [DEBUG] GET /results/ 2012-01-20 17:30:43 [23125] [ERROR] WORKER TIMEOUT (pid:23128) Traceback (most recent call last): File "/home/demo/python_envs/frontend/lib/python2.6/site-packages/gunicorn/app/base.py", line 111, in run os.setpgrp() OSError: [Errno 1] Operation not permitted ただし、これは実際のワーカータイムアウトのかなり前に発生します。念のため、10分に設定しました。これは、gunicornを実行するupstartスクリプトの一部です。 description "..." start on runlevel [2345] stop on runlevel [!2345] #Send KILL after 5 …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.