6

Django アプリで uwsgi+nginx に傾倒しています。uwsgi プロセスを開始するための最良の方法を共有できますか? 誰もuwsgiをチューニングした経験がありますか?

4

3 に答える 3

4

OSX上で起動

Unice の Upstart/init。

uwsgi には独自のプロセス マネージャーもありますので、それを実行することもできます。

チューニング:

特定の要件に関するアドバイスについては、メーリング リストを確認してください。Uwsgi は素晴らしいです。完全なデプロイ ソリューションです。

0.8.40 以上の Nginx は、デフォルトで uwsgi バインディングをビルドします。nginx をビルドし、uwsgi をビルドすると、ゴールデンになります。

于 2010-07-10T02:56:28.227 に答える
2

これらは fabfile.py ファイルで使用する関数です (まだの場合は python fabric をチェックしてください)。

def start_uwsgi():
    with cd(env.server.uwsgi):
        if(exists('server.pid')):
            stop_uwsgi()
            run('sleep 1')
        run('source venv/bin/activate;uwsgi --ini uwsgi.ini;'))

def stop_uwsgi():
    with cd(env.server.uwsgi):
        if(exists('server.pid')):
            run('source venv/bin/activate;uwsgi --stop server.pid;'))

私の uwsgi.ini ファイルでは、次のように指定します。

[uwsgi]
socket = :{{your_port}}
master = true
vhost = true
no-site = true
processes = 1
enable-threads = true
pidfile = server.pid
daemonize = server.log
auto-procname = true
procname-prefix = servername_

私にとって主なゴチャは次のとおりです。

  • ターミナル/sshセッションを閉じた後もuwsgiサーバーを動かし続けたい場合は、daemoniseオプションを使用してください
  • vhost を使用して、同じ uwsgi インスタンスで複数のサイトを実行します。ボトルネックがメモリである場合に最適です
  • pidfile は現在のインスタンスを追跡し、uwsgi --stop pidfile、uwsgi --start pidfile を呼び出すことができます
  • procname および procname-prefix/append は、プロセスに適切な名前を付けるため、 ps -u username | を使用して簡単に特定できます。grep some_string
于 2011-11-28T00:27:48.427 に答える
0

プロセスの開始と停止を管理するために Supervisord を使用します。

于 2015-02-27T15:52:18.427 に答える