Amazon EC2ホスティングでDjangoウェブサイトをセットアップする方法は?

StackOverflow https://stackoverflow.com/questions/1638752

  •  08-07-2019
  •  | 
  •  

質問

誰かがAmazon EC2ホスティングサービスを使用してDjangoベースのウェブサイトのホスティングを実装する方法を具体的に説明できますか?

それは可能ですか?

私のウェブサイトのソースコードは、こちら

にあります。

これを見つけて記事

しかし、何かをする前に、Amazon EC2ホスティングに関する基本的なアイデアをいくつか知りたいだけです。

役に立ちましたか?

解決

確かに可能ですが、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トンネルを作成し、手順に従います:

  1. インスタンスにapache2とlibapache2-mod-wsgiをインストールします:

    sudo apt-get install apache2 libapache2-mod-wsgi

  2. インスタンスにdjangoをインストールします:

    sudo pip install django

  3. mysqlのインストール:

    sudo apt-get install mysqldb

    sudo pip install mysql-python

    sudo apt-get install libmysqlclient-dev

(pipがインストールされていない場合: sudo apt-get install python-pip

  1. djangoプロジェクト用にmysqlを設定します。 djangoプロジェクトを / var / www / html にインポートします。 (gitを使用するのが最善の方法です。)

  2. /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>
    
  3. migrateを実行して同期データベース:

    python manage.py migrate

  4. apache2を再起動します:

    sudo service apache2 reload

settings.pyでテンプレートと静的パスをハードコーディングしないでください。そうであれば、動的パスに変更するか、適宜編集してください。

それだけです! パブリックIPまたはDNSにアクセスして、AWS EC2インスタンスでホストされているDjangoウェブサイトにアクセスします。

エラーが発生した場合は、以下にコメントしてください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top