検索

ホームページ  >  に質問  >  本文

python - gunicorn supervisor nginx 配置问题,该给gunicorn几个worker,有没有必要上gevent

配置了一下午环境,跑起来是跑起来了,但是寻摸着一次琢磨透他们嘛。

鉴于gunicorn,supervisor用的不多,网络上找到资料很少(中文)

英文的也有些不太好懂。

想问下gunicorn可以设置worker设置几个比较合适呢。阿里云服务器,双核的。

supervisor是不是也有设置类似worker的地方,配置一下午迷糊了。

nginx呢。
晕乎乎的。

另外gevent不太了解,这个有必要上吗。我看配置起来蛮简单的。有什么优缺点呢。

谢谢各位。

PHPzPHPz2893日前498

全員に返信(4)返信します

  • 阿神

    阿神2017-04-18 09:17:36

    workerNginxProcess かは、サーバーの CPU コアの数に基づいて決定されます。Alibaba Cloud にはデュアル コア (2个核) しかありません。

    gunicorn についてはよくわかりませんが、uWSGI にも worker があり、通常は 核数X2 に設定されます。

    Nginx8工程で十分と言われています。

    オンラインで Nginx 最適化を検索すると、かなりの数のチュートリアルがあるはずです。

    返事
    0
  • PHP中文网

    PHP中文网2017-04-18 09:17:36

    worker については、基本的に CPU コアの実際の数の 1 ~ 2 倍にすることをお勧めします。通常は、コアの数と同じ数の worker を使用します。

    supervisorに関しては、workerの設定が見当たりません。

    実際には、uwsgi + supervisor + nginx の組み合わせを使用します。詳細は google でダウンロードできます。私は公式 wiki に従っているだけで、特別なものは使用していません。

    追伸: 中国語の資料はあきらめてください。ほとんどがボロボロです。英語は読みにくいですが、少なくとも穴には入ることはできません。

    返事
    0
  • 高洛峰

    高洛峰2017-04-18 09:17:36

    1. Gunicorn ワーカーの数は通常、経験の観点から構成されます 2 * core + 1。コアはコアの数を指します。

    2. スーパーバイザーにはワーカーの数を構成する概念はありませんが、プロセスの数は構成されます。numprocs このフィールド

    3. gunicorn を使用する場合は、一般に worker_classgevent に構成することをお勧めします。

    返事
    0
  • ringa_lee

    ringa_lee2017-04-18 09:17:36

    gunicorn は一般的に使用される WSGI サーバーです。現在のアプリケーションでは、uWSGIgunicorn の両方が一般的な選択肢であり、この 2 つのパフォーマンスはそれほど違いはありません。 2 * cpu数 + 1 公式 Web サイトで設定されているワーカー数の値の例は

    、公式 Web サイトの例は

    リーリー 5したがって、対象のデュアルコアサーバーの場合は、適切な

    に設定する必要があります。

    supervisorGunicorn は、Redis だけでなく、多くのプロセスの管理に使用できるプロセス管理ツールです。私も supervisor の管理に使用しています。実際、worker には procs と呼ばれる数量に似たものがあり、これは実際にはプロセスの数です。つまり、いくつかを設定すると、supervisor は複数のプロセスを開始するのに役立ちます。 。

    supervisorGunicorn のワーカーは独立していることに注意してください。両方を 5 に設定すると、実際には 5 * 5 = 25 のプロセスがサービスを提供することになります。


    nginx は通常、リバース プロキシと負荷分散に使用されます。サーバー上で 2 つの Web アプリケーションがローカルに実行されているとします。

    • http://127.0.0.1:5000 ブログ

    • http://127.0.0.1:8080 フォーラム

    次に、ドメイン名を使用してこれら 2 つのアプリケーションに個別にアクセスしたいとします。たとえば、

    • http://baidu.com/blog ブログ

    • http://baidu.com/bss フォーラム

    これは nginx を通じて設定できます。


    はコルーチン用のライブラリであり、通常は gevent アプリケーションで使用されますが、推奨されません。 IO密集型 アプリケーションの場合は、IO密集型 フレームワークを使用して作成することをお勧めします。 Tornado

    それは以上です。公式ドキュメントをもっと読むことをお勧めします。

    返事
    0
  • キャンセル返事