0

Django アプリを完成させました。ここ数か月間、ローカル サーバーでアプリを実行してきました。

python manage.py runserver

127.0.0.1 で実行され、私のコンピューターからしかアクセスできませんでした。アプリが完成したので、世界中からアクセスできるようにしたいと考えています。私は自分の django アプリをデプロイする方法を調査しようとしましたが、おそらく私の状況のほとんどの人と同じように、私は完全に迷っています。「WSGI、AWS、WebFaction、ドメイン、Web ホスティング、共有ホスティング、サーバー、VPS ベンダー、RackSpace、Apache2 など」という言葉が頭をよぎります。

私が最初に見つけた投稿は 、Amazon EC2 ホスティングで Django ウェブサイトをセットアップする方法です。

この投稿では、Amazon EC2 サーバーが優れていると述べていますが、代わりに WebFaction / Dreamhost を推奨しています。WebFaction / DreamHost の代わりに Amazon EC2 を選択することにしました。Amazon EC2 についてググると、AWS と、RackSpace などの VPS ベンダーの比較を読んでいることに気づきます。次に、RackSpace の代わりに Amazon EC2 を使用することに同意します。次に、ドメイン名を正確にどこから購入すればよいか考えました。goDaddy がドミアンのホストとして非常に人気があることを知っているので、調べてみると、goDaddy は Django をサポートしていないことがわかりました。どの Web ホスティング会社が Django をサポートしているかをググったところ、WebFaction に再び出会いました。WebFaction を使用してドメインを登録し、Amazon を使用してサイトをホストしますか? WebFaction の価格を見ると、帯域幅、ディスク容量、サーバーの場所などの価格が表示されます。AWS の価格をググると、サーバーの場所、スペースなど、まったく同じことが語られます。この時点では、WebFaction と AWS が同じことを達成するかどうか、どちらを選択する必要があるかさえわかりません。 、または WebFaction が単にドメインをホストし、サーバーに AWS をホストするだけの場合は? 次に、Amazon サーバーのしくみと、ドメイン ホスティング サイトとの関係についての記事に出くわすことを期待して、サーバーについて調査することにしました。代わりに、Apache について読んでいることに気づきました。うーん、それで Apache が別のオプションになりましたか? Apache サーバーと AWS の関係をググったところ、AWS で Apache をセットアップできることがわかりました。Django アプリをデプロイするには、WebFaction、AWS、および Apache が必要ですか? WebFaction と AWS が同じことを達成するかどうか、そしてどちらか一方を選択することになっているのか、それとも WebFaction が単にドメインと AWS をサーバー用にホストするためのものなのかさえわかりませんか? 次に、Amazon サーバーのしくみと、ドメイン ホスティング サイトとの関係についての記事に出くわすことを期待して、サーバーについて調査することにしました。代わりに、Apache について読んでいることに気づきました。うーん、それで Apache が別のオプションになりましたか? Apache サーバーと AWS の関係をググったところ、AWS で Apache をセットアップできることがわかりました。Django アプリをデプロイするには、WebFaction、AWS、および Apache が必要ですか? WebFaction と AWS が同じことを達成するかどうか、そしてどちらか一方を選択することになっているのか、それとも WebFaction が単にドメインと AWS をサーバー用にホストするためのものなのかさえわかりませんか? 次に、Amazon サーバーのしくみと、ドメイン ホスティング サイトとの関係についての記事に出くわすことを期待して、サーバーについて調査することにしました。代わりに、Apache について読んでいることに気づきました。うーん、それで Apache が別のオプションになりましたか? Apache サーバーと AWS の関係をググったところ、AWS で Apache をセットアップできることがわかりました。Django アプリをデプロイするには、WebFaction、AWS、および Apache が必要ですか? Apacheが別のオプションになりましたか?Apache サーバーと AWS の関係をググったところ、AWS で Apache をセットアップできることがわかりました。Django アプリをデプロイするには、WebFaction、AWS、および Apache が必要ですか? Apacheが別のオプションになりましたか?Apache サーバーと AWS の関係をググったところ、AWS で Apache をセットアップできることがわかりました。Django アプリをデプロイするには、WebFaction、AWS、および Apache が必要ですか?

Django アプリのデプロイについてさらに調査を試みたところ、WSGI に関する記事を見つけました。研究すればするほど、混乱するようです。だからここであなたの助けが必要です:

Django アプリケーションは基本的に「ブログ」サイトであり、ユーザーはアカウントの作成、画像のアップロード、画像のコメントといいね、他のユーザーのフォロー、投稿 (テキストと画像のみで構成される) の作成、投稿へのコメントと投稿のいいね! を行うことができます。

Django アプリケーションは、約 1500 人のユーザーを対象としています (最初の 2 か月で約 1500 人のユーザーになると見積もっています)。アプリケーションは、Android および iPhone のアプリ ストアにも (WebView を介して) 配置されます。私のホストOSはWindows 8ですが、VM(Lubuntuを実行)をダウンロードし、Django 1.5、Python 2.7を使用してLubuntuですべてのDjangoを実行し、PILとPillowもインストールする必要がありました. PostgreSQL データベースを使用しました。これらすべての詳細を踏まえて、どのようにサイトをホストすればよいでしょうか?

「どのサーバーを使用すべきか」とは言いたくありません。「Amazon」と言う人もいれば、「DreamHost」と言う人もいれば、「ドメインを購入してから Amazon を使用する」と言う人もいれば、WSGI について話し始める人もいるからです。そして Apache は私を本当に混乱させました。

1500 ユーザー アプリケーションをホストするには、どのような手順を実行する必要がありますか? アプリケーションが 1500 ユーザーに達し、それを超え始めたら、より大規模なサーバーへの切り替えを検討しますが、最初の 1500 ユーザーについては、どこでドメイン名を購入してサイトをホストする必要がありますか? サイトは今後 3 週間以内に公開する必要があります (そのため、VPS ベンダーまたは Amazon EC2 が強く推奨されている場合は、それらについて学ぶために 1 週​​間を費やすことができます)。VPS ベンダーに飛び込んだり、ドメインを購入して Amazon EC2 サーバーを使用したりするのではなく、より推奨されるシンプルなソリューションがあるかどうかを知りたいだけです。

編集:これは代わりにServerFaultに行くべきですか?

4

1 に答える 1

1

ここには必要なレイヤーがいくつかありますが、最初は混乱する可能性があります。本番環境で Django サイトをセットアップするには、次のものが必要です。

  • サーバー ハードウェア。
  • ウェブサーバー ソフトウェア。
  • Python コネクタ (WSGI)。
  • DNS レコードに登録されたドメイン名。

ホスティング サービスを使用すると、サーバー ハードウェアにアクセスできます。物理サーバーまたは物理サーバー上の仮想環境をレンタルします。ほとんどのホスティング プラットフォームには、ドメイン名の登録と DNS レコードの管理が含まれていますが、これらのサービスを別の場所で探す必要があるものもあります。

サーバーがリクエストの受信時に実際に http レスポンスを提供するには、ウェブサーバー プロセスを実行する必要があります。Apache と Nginx はそのような Web サーバーです。WSGI は、Web サーバーが Python アプリケーションと通信できるようにする標準です。Django アプリケーションに接続するには、これを実装する必要があります。いくつかの選択肢は、gunicorn、uWSGI、および Apache の mod_wsgi です。

この情報があれば、Django アプリケーションのデプロイ方法を説明するほとんどの記事を理解できるはずです。WSGI に関する部分を除くすべては、Django だけでなく、他の Web サイトにも適用できます。

于 2014-07-20T22:15:16.077 に答える