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

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

新規登録して質問してみよう
ただいま回答率
85.49%
Django

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

nginx

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

Python

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

Q&A

1回答

2845閲覧

Tornado, Djangoでのuwsgiについて

zowie

総合スコア6

Django

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

nginx

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

Python

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

0グッド

0クリップ

投稿2017/01/09 16:00

###前提・実現したいこと
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を挟んだ方が良いのかどうかも気になっています。)

宜しくお願いします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答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 05:27

shimizukawa

総合スコア1847

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

zowie

2017/01/10 11:20

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問