AWSでDjangoを構築する方法とは?


Djangoとは?
DjangoとはPythonのフレームワークの1つであり、InstagramやPinterestでも使用されています。メリットとしては、学習コストが低い、動作が速い、Webシステムでよく使う機能が揃っている等があげられます。
学習コストについて、 Djangoの書籍やウェブサイトが多く参考にできる情報が多くあります。また、素直なコードを書くことから、他の言語を学んだ人でも簡単に手がつけられます。
動作について、Djangoでは標準でmemcachedというキャッシュサービスがあるため、キャッシュ機能が高く、処理速度が高速です。また、Webシステムでよく利用するユーザー認証や管理画面も標準で備わっています。
DjangoをAWSで構築する方法は?
DjangoをAWSで構築する方法は、3つあります。1つ目はAWS EC2を、2つ目はAmazon Lightsailを、3つ目はElastic Beanstalkを利用する方法です。
AWS EC2とは、Amazon Elastic Compute Cloudの略で、AWSの仮想サーバーです。こちらを利用する場合は、1からDjangoを構築する必要があります。
Amazon Lightsailとは、ストレージやスナップショットといったAWSの必要な機能がパッケージとして利用できるサービスです。Elastic Beanstalkはアプリのデプロイを簡単にしてくれるサービスです。
環境を構築する時間がないや、柔軟性がなくてもよくて、とりあえず動くものを作りたいといった場合は、Amazon LightsailやElastic Beanstalkを利用すれば、ほとんど時間をかけることなくDjangoのシステムを構築することができるでしょう。
AWS EC2でDjangoを構築する方法
AWSでDjangoを構築するために、AWS EC2を利用した構築方法について紹介します。事前にAWSアカウントを登録しておいてください。
AWS EC2を作成し、初期設定を実施
AWSにログインし、AWS EC2インスタンスを作成します。作成が完了したら、インスタンスのIPv4 パブリック IPに作成時に設定した.pemファイルで以下のようにSSH接続を実施します。
ssh -i ~/test/hogehoge/key.pem ec2-user@xx.xxx.xx.xxx
AWS EC2に接続できると以下のように表示されるはずです。
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
8 package(s) needed for security, out of 17 available
Run "sudo yum update" to apply all updates.
最後にパッケージの統合管理システムのyumをアップデートすれば、AWS EC2作成と初期設定が完了します。
sudo yum update -y
Pythonをインストール
次はPythonをインストールします。SSHでAWS EC2に接続して以下の手順でコマンドを入力します。
Python3で利用するモジュールをインストールします。
sudo yum install -y httpd-devel python3-devel gcc gcc-c++
Python3をインストールします。
sudo yum install -y python3
無事にインストールできたかを確認します。
python3 --version
以上でPythonのインストールは完了です。
Apacheをインストール
Djangoを動かすためにApacheをインストールします。本番サーバーの場合は、WebサーバーとAPサーバーは分けておくと良いです。nginxなど、他のサーバーでもDjangoは動きますが、今回はApacheをインストールしておきます。
Apacheをインストールします。
sudo yum install -y httpd httpd-devel
Apacheが無事にインストールできたかを確認します。
httpd -v
Apacheを起動します。
sudo service httpd start
以上でApacheのインストールは完了です。
Djangoをインストール
Djangoとmod_wsgiをインストールします。mod_wsgiはPythonで書かれたプログラムをApache HTTP Serverで動かすためのモジュールです。
Djangoをインストールします。
sudo pip3 install django
Djangoがインストールされたかを確認します。
python3
>>> import django
>>> django.get_version()
mod_wsgiをインストールします。
sudo pip3 install mod_wsgi
mod_wsgiがインストールされたかを確認します。
pip3 freeze | grep wsgi
以上でDjangoのインストールは完了です。
Djangoを起動する
既にDjangoのプログラムソースが作成されている場合は、Gitをインストールして、ソースを反映させましょう。
Gitをインストールする。
sudo yum install git
まだプログラムソースを作成していない場合は、以下でプロジェクトを作成しましょう。
django-admin startproject hogehoge
Djangoを起動させます。今回はApacheではなく、Djangoのデフォルトで用意されている開発サーバーを利用しました。
cd mysite
python manage.py runserver
以上で、Djangoの構築から起動まで実施することができました。
Apacheで起動できるように設定する
python runserverのままだと開発環境での利用しかできません。本番環境としても利用できるようにApacheとmod_wsgiの設定を行います。
インストール済みのmod_wsgiの保存場所を確認します。
find -name 'mod_*.so'
Apacheの設定ファイルに設定を追加します。
sudo vi /etc/httpd/conf.d/django.conf
設定するファイルの内容は以下の通りです。
LoadModule wsgi_module 先程確認したmod_wsgiの保存場所
WSGIScriptAlias / /path/to/mysite.com/mysite/wsgi.py
WSGIPythonHome /path/to/venv
WSGIPythonPath /path/to/mysite.com
<Directory /path/to/mysite.com/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
・WSGIScriptAlias : ApacheにきたリクエストをDjangoプロジェクトに遷移させる先を設定します。
・WSGIPythonPath : Pythonを通すパスです。(例:/site-packages)
・WSGIPythonHome : 利用するPythonのホームディレクトリーです。
・Directory : Apacheがアクセスできるように設定します。
以上の設定が完了したら、以下のコマンドにてApacheを起動させ、無事にDjangoプロジェクトが起動することを確認します。
sudo service httpd restart
DjangoをAWS EC2で構築してみよう!
今回は、AWS EC2を利用して、Djangoプロジェクトの構築方法について紹介してきました。AWS EC2で構築方法をマスターすれば、Amazon LightsailやElastic Beanstalkでの構築はもっと簡単になるでしょう。ぜひAWS EC2での構築をマスターしてみましょう。
この記事の監修者・著者

- AWSパートナー/Salesforce認定コンサルティングパートナー 認定企業
-
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。
・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
最新の投稿
- 2024-12-27営業インタビュー情報共有の活性化の中心に。SP企画部の新たな取り組み
- 2024-07-01営業インタビュー最短で当日にご提案可能。 OPE営業の対応が早い3つの理由
- 2024-07-01営業インタビュー研修見学ツアーが高評価!「お客様のOPEに対する期待を高め、継続に貢献できればと思います。」
- 2024-07-01営業インタビュー信頼関係を構築し、エンジニアの長期就業へ

- 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
- すぐに採用したいが、応募がぜんぜん集まらない
オープンアップITエンジニアをご検討ください!
当社のITエンジニア派遣サービスは
- 派遣スピードが速い!(最短即日)
- 4,500名のエンジニアから貴社にマッチした人材を派遣
- 正社員雇用も可能
こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。