フラスコ/ Pythonを使用したRESTAPIアプリケーションにgunicornを使用したいと思います。ここでnginxをgunicornに追加する目的は何ですか? gunicornサイトでは、nginxでgunicornを使用することを推奨しています。
これは私が満足のいく答えを見つけようとしていなかったときに私が偶然見つけた満足のいく引用された答えです。基本的に、Gunicornは本格的なWebサーバーとして設計されていないことを学びましたが、nginxは本格的なWebサーバーです。
...待って、なぜ2台のサーバーが必要なのですか? Gunicornは、nginxの背後で実行されるアプリケーションWebサーバー(前面のWebサーバー)と考えてください。 GunicornはWSGIと互換性があります。 FlaskやDjangoなど、WSGIをサポートする他のアプリケーションと通信できます。
ソース: https://realpython.com/blog/python/kickstarting-flask-on-ubuntu-setup-and-deployment/
NginxはGunicornのリバースプロキシです。 Gunicornはflaskアプリを提供し、Ngingはその前に座って、リクエストの送信先を決定します。たとえば、受信リクエストがhttpリクエストの場合、Nginxはそれをgunicornにリダイレクトします。 Nginx ang Gunicornの使用方法とデプロイ方法の詳細については、ここから開始してください: http://rahmonov.me/posts/run-a-Django-app-with -gunicorn-in-ubuntu-16-04 /
Djangoマスコットがポニーである理由を知っていますか?ストーリーは、Djangoには、ORM、あらゆる種類のミドルウェア、管理サイト…「他に何が欲しいの、ポニー?」そうですね、Gunicornは「GreenUnicorn」の略です-obeythetestinggoat.com
すべてのリクエストはnginxに届き、どのgunicornアプリケーションを使用するかを尋ね、リダイレクトします。
[〜#〜] note [〜#〜]-ローカルのDjangoサーバーとは異なり、Gunicornは静的ファイルを自動的に提供できません。したがって、そのためには再びnginxが必要になります。
Gunicornは、pythonアプリケーションインスタンスを実行するためのアプリケーションサーバーです。
NGINXはリバースプロキシです。着信接続を受け入れ、次にどこに行くべきかを決定します。ギユニコーンの前です。
本番環境では、nginxはリバースプロキシとして機能します。これは、ユーザーがブラウザからnginxを押すと、nginxが呼び出しをアプリケーションに転送することを意味します。お役に立てれば。