Amazon EC2ホスティングでDjangoウェブサイトをセットアップする方法は?
-
08-07-2019 - |
解決
確かに可能ですが、EC2はあなたにとって最良の選択肢ではないようです。それを行う人々の例については、「django ec2」のgoogleをご覧ください。 1番目と2番目のリンクを確認してください。 this または this (この質問は現在のそのクエリの上位のGoogle結果!)
非常に単純化した意味では、EC2は1時間ごとにレンタルできるサーバーにすぎません。 WindowsまたはLinuxを実行してから、通常どおりにpythonとdjangoをインストールできます。実際、Djangoが事前に構成されているイメージがおそらくあります。プロジェクトのどの段階にいますか?調査中ですか、それともdjangoまたはec2の特定の問題に悩まされていますか?
更新:
わかりました。混乱しているのは、さまざまな種類のホスティングが存在するということです。極端な場合、非常に独自の物理サーバーの支払い、独自のオペレーティングシステム(WindowsやLinuxなど)のインストール、独自のPythonのインストール、ApacheやIISのようなWebサーバー、独自のdjangoライブラリ、独自のデータベース( mysql)など、Webサイトをアップロードします。他の極端な場合、共有ホスティングサービスのアカウントに料金を支払うことができます。他の誰かがOS、Python、Webサーバーなどのすべてのセットアップを行い、Webサイトコードをアップロードするだけです。 EC2は最初の極端に非常に近く、おそらくあなたにとってはやり過ぎです。あなたの場合、より管理されたソリューションを探しているべきだと思います。
さまざまなdjangoホスティング会社のリストを掲載したこのWebページをご覧ください。
Djangoホスティング
他のヒント
サーバーをゼロからセットアップしたくない場合の別のオプションは、 BitNami Django Stack Amazonイメージを使用することです。私はBitNami開発者であり、いくつかのPythonアプリケーションのスタックの作成に取り組んでいます。 BitNami Djangoスタックには、すでにMySQL 5.1、Apache 2.2(mod_wsgiを使用)、およびPythonがMarkDown、html5lib、python-openidがインストールされています。また、django 1.3も含まれていました。
Django Debug Toolbarをインストールし、データベースを作成し、/ opt / bitnami / apps / django / django_projectsにファイルをコピーして、python manage.pyコマンドを実行する必要があります。その後、(djangoサーバーの代わりに)本番環境で使用する場合は、プロジェクトをサーバーに提供するようにApacheを構成する必要があります。
クラウドにアプリケーションを直接デプロイする前に、ネイティブインストーラーを使用して、ローカルマシンでデプロイをテストできます。
コスト見積もりツールもあります。これは、単純なEC2 / EBSセットアップの大まかなアイデアを得るためだけのものです。Amazonは、多くの要因に依存しますが、常に期待できるほど高価ではありません。 (あなたのコメントによると、あなたはすでに費用を見ているようです)。
インスタンスでApacheサーバーを使用していると仮定すると、Djangoサイトでの公式の指示は、多くのブログ投稿よりもうまく機能します。リンクからコピーしたものを次に示します。 https://docs.djangoproject.com/en/1.5/howto/ deployment / wsgi / modwsgi /
次のコードを編集して/etc/apache2/apache2.confに追加すると解決します。
WSGIScriptAlias / /path/to/mysite.com/mysite/wsgi.py
WSGIPythonPath /path/to/mysite.com
<Directory /path/to/mysite.com/mysite>
<Files wsgi.py>
Order deny,allow
Require all granted
</Files>
</Directory>
AWS EC2 t2.microインスタンス(AWS無料利用枠)で独自のdjangoウェブサイトをホストしました。このプロジェクトにはDjango 1.9を使用し、データベースにはMySQLを使用しました。 インスタンスへのSSHトンネルを作成し、手順に従います:
-
インスタンスにapache2とlibapache2-mod-wsgiをインストールします:
sudo apt-get install apache2 libapache2-mod-wsgi
-
インスタンスにdjangoをインストールします:
sudo pip install django
-
mysqlのインストール:
sudo apt-get install mysqldb
sudo pip install mysql-python
sudo apt-get install libmysqlclient-dev
(pipがインストールされていない場合: sudo apt-get install python-pip
)
-
djangoプロジェクト用にmysqlを設定します。 djangoプロジェクトを
/ var / www / html
にインポートします。 (gitを使用するのが最善の方法です。) -
/etc/apache2/sites-available/000-default.conf
の編集:<VirtualHost *:80> Alias /static /path_to_my_static_folder <Directory /path_to_my_project_folder_containing_wsgi.py> <Files wsgi.py> Require all granted </Files> </Directory> WSGIDaemonProcess project_name python-path=/path_to/lib/python2.7/site-packages WSGIProcessGroup project_name WSGIScriptAlias / /path_to_wsgi.py </VirtualHost>
-
migrateを実行して同期データベース:
python manage.py migrate
-
apache2を再起動します:
sudo service apache2 reload
settings.pyでテンプレートと静的パスをハードコーディングしないでください。そうであれば、動的パスに変更するか、適宜編集してください。
それだけです! パブリックIPまたはDNSにアクセスして、AWS EC2インスタンスでホストされているDjangoウェブサイトにアクセスします。
エラーが発生した場合は、以下にコメントしてください。