質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.32%

  • Python

    9231questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

  • Django

    1180questions

    DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

  • nginx

    904questions

    nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Tornado, Djangoでのuwsgiについて

受付中

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 1,044

zowie

score 2

前提・実現したいこと

TornadoでWeb Applicationの作成経験がある者です。
Djangoでも作成したいと思い勉強していたところ、Deploy環境で気になったことがあるので教えていただきたいです。

tornadoを公開するときはnginxをreverse proxyとして設置して公開を行いました。
このような設定、環境です。
client <-> nginx <-> tornado
http://www.tornadoweb.org/en/stable/guide/running.html#running-behind-a-load-balancer

Djangoではuwsgiを利用するようですが、イマイチuwsgiを利用する理由が分かりませんでした。
http://www.tornadoweb.org/en/stable/guide/running.html#running-behind-a-load-balancer
nginx側でこのような:8080にforwardingする設定を行い、

$python manage.py runserver 127.0.0.1:8080


で起動したDjango Appに接続が可能でした。(client <-> nginx <-> django)

uswgiをnginx <-> django間に挟むメリットを教えてください。
(また、tornadoでもuwsgiを挟んだ方が良いのかどうかも気になっています。)

宜しくお願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

0

Djangoではuwsgiを利用するようですが、イマイチuwsgiを利用する理由が分かりませんでした。 

Djangoのドキュメントで紹介されているのは WSGI によるデプロイではないですか? uwsgiを利用する と思われた理由はなんでしょうか?

https://docs.djangoproject.com/en/1.10/howto/deployment/ でWSGIでのデプロイ方法とuWSGIでのデプロイ方法などが紹介されています。

runserverを本運用につかってはいけない、という話が https://docs.djangoproject.com/en/1.10/ref/django-admin/#runserver にあります。

DO NOT USE THIS SERVER IN A PRODUCTION SETTING. It has not gone through security audits or performance tests. (And that’s how it’s gonna stay. We’re in the business of making Web frameworks, not Web servers, so improving this server to be able to handle a production environment is outside the scope of Django.)
このサーバーをプロダクション設定で使用しないでください。 セキュリティ監査やパフォーマンステストは行っていません。 WebサーバーではなくWebフレームワークを作成するため、このサーバーを運用環境に対応できるように改善することはDjangoの対象外です。)

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/01/10 20:20

    ご回答ありがとうございます。
    runserverを本運用につかってはいけないというのはtornadoと同じで把握していました。
    tornadoと同じnginxをfrontにおいた状態(client <-> nginx <-> django)で私のサンプルweb appの公開が行えたので初めは問題ないと思っていたのですが、
    nginx djangoで検索を行うと、nginx + uwsgi + djangoのセットで紹介しているサイトしかヒットしないため、何かuwsgiを挟む必要な理由があるのではないかと思いました。

    (公式で推奨しているapache wsgiの構成でなく、frontにnginxおいた構成で構築したいため、uwsgiと書きました。)

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.32%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • Python

    9231questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

  • Django

    1180questions

    DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

  • nginx

    904questions

    nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。