ホーム >  AWS >  【Vagrant】Macに用意したAmazon Linux2 環境にuwsgi、Django、Django Restframeworkをインストール【オンプレミス】

投稿日:   |  最終更新日:

【Vagrant】Macに用意したAmazon Linux2 環境にuwsgi、Django、Django Restframeworkをインストール【オンプレミス】

AWSDjangoNginxPython

VagrantのAmazon Linux2環境にuwsgiDjangoDjango Restframeworkをインストールします。

Django実行環境を構築

前回、AmazonLinux2の仮想環境に、Pythonをインストールしました。今回は、uwsgiやDjangoなど必要なパッケージをpythonの環境にインストールします。

Amazon Linux 2のAMIからEC2インスタンスを起動すると、デフォルトでPythonがインストールされています。2021年5月現在、Python 2.7系がインストールされています。3系を使いたい場合は、自分でインストールする必要があります。

作業の流れ

1.vagrantを起動して、Amazon Linux2にログインします。

2.Pythonパッケージをインストールします。

前回まで

今回の作業は、以下の続きです。

【仮想環境】MacにVirtualBoxをインストール【Mac】

【Vagrant】MacにAWS公式のAmazon Linux2 Vagrant 環境を作成【オンプレミス】

【Vagrant】MacにAWS公式のAmazon Linux2 Vagrant Boxを作成、起動【オンプレミス】

Vagrant】Macに用意したVagrantのAmazon Linux2 環境にVirtualBox Guest Additionsをインストール【オンプレミス】

【Vagrant】Macに用意したAmazon Linux2 環境にPythonをインストール【オンプレミス】

※今回の記事は、既にAmazonLinux2のVagrant環境を作成済みであるとします。

環境

私のPC環境は以下の通りです。

PC MacBook Air (Retina, 13-inch, 2019)
CPU 1.6 GHz デュアルコアIntel Core i5
メモリ 16 GB 2133 MHz LPDDR3
OS 10.15.2
VirtualBox 6.1.12r139181
Vagrant 2.2.9

Vagrantのディレクトリ構成

  • ~/Work/
  • Vagrant/
  • AmazonLinux2/


AmazonLinux2仮想環境へログイン

①「ターミナル」を開いて下記のコマンドを入力します。

cd ~/Work/Vagrant/AmazonLinux2

②下記のコマンドを入力して仮想環境を起動します。

Vagrant up

③下記のコマンドを入力してログインします。

vagrant ssh

Pythonパッケージのインストール

djangoなど必要なパッケージをpythonの環境にインストールします。

①「ターミナル」を開いて下記のコマンドを入力します。現在インストールされているパッケージを確認します。まだ何もインストールしていないので何も表示されないはずです。

pip3 freeze

※Python3のインストールが成功していれば pip3 コマンドが使えます。

②下記のコマンドでDjangoをインストールします。

sudo pip3 install django

③再度「pip3 freeze」を実行するとdjangoも含めいくつかのパッケージがインストールされています。

pip3 freeze

asgiref==3.3.4
Django==3.2
pytz==2021.1
sqlparse==0.4.1
typing-extensions==3.7.4.3

④下記のコマンドで「Django Filter」でをインストールします。

sudo pip3 install django-filter

少ないコーディングで検索機能を追加するdjangoのプラグインです。 組み込みのFilterSetより柔軟な設定が可能です。

⑤下記のコマンドで「Django Restframework」をインストールします。

sudo pip3 install djangorestframework

⑥下記のコマンドで「Django Restframework JWT」をインストールします。

sudo pip3 install djangorestframework-jwt

Json Web Token(JWT)を使ったAPIの認証機能を実装している場合に必要です。

⑦下記のコマンドで「wheel」をインストールします。

sudo pip3 install wheel

Pythonのパッケージの形式(フォーマット)のことを指します。実態はzip形式のアーカイブであり、PEP427で定義されました。pipでパッケージをインストールする時は、wheel形式のファイルをダウンロードするところから始まります。逆に、Pythonのパッケージを作って配布したい場合は、wheel形式のファイルを作成する必要があります。

⑧下記のコマンドで「uwsgi」をインストールします。

sudo pip3 install uwsgi

PythonでWebサービスを動かすためのアプリケーションサーバ(APサーバー)の一種です。WSGIに則ったアプリケーションを動作させるアプリケーションサーバをWSGIアプリケーションコンテナやWSGIサーバなどと呼びます。uWSGIは、このWSGIアプリケーションコンテナの一種です。つまり、WSGIに準拠したアプリケーションであれば、DjangoやFlask以外でも動かすことが可能です。

※WSGIサーバーにはuWSGI以外にGunicornというものもあります。

⑨下記のコマンドで「uwsgi」をインストールします。

sudo pip3 install django-cleanup

django-cleanupは、アップロードしたファイルの削除を自動的に行ってくれます。ファイルアップローダーを構築した場合、ファイルの削除や更新処理が多くなると予想されます。django-cleanupを使っておけば、使われなくなったファイルが自動的に消えます。

次回

sqlite3をインストールします。

【Vagrant】Macに用意したAmazon Linux2 環境にsqlite3、nginxをインストール【オンプレミス】


トラックバック用のURL
プロフィール

名前:イワサキ ユウタ 職業:システムエンジニア、ウェブマスター、フロントエンドエンジニア 誕生:1986年生まれ 出身:静岡県 特技:ウッドベース 略歴 20

最近の投稿
人気記事
カテゴリー
広告