delhi09の勉強日記

技術トピック専用のブログです。自分用のメモ書きの投稿が多いです。あくまで「勉強日記」なので記事の内容は鵜呑みにしないでください。

DjangoをEC2インスタンス上で動かす環境を構築する(その2:必要なソフトウェアのインストール)

参考文献

その2:必要なソフトウェアのインストール

概要

DjangoをEC2インスタンス上で動かすために必要なソフトウェアをインストールする。

必要なソフトウェア

必要なソフトウェアは以下の通り

No ソフトウェア名 インストール方法
1 Python3 yum(amzn-main)
2 Git yum(amzn-main)
3 Nginx amazon-linux-extra
4 Gunicorn pip3
5 Django pip3

手順

前提

作業は全て「admin」ユーザーで行う。

yumリポジトリを最新化する。
$ sudo yum clean all
$ sudo yum update
・Python3のインストール

・デフォルトではPython2がインストールされており、Python3はインストールされていないことを確認する。

$ python -V
Python 2.7.16
$ which python3
/usr/bin/which: no python3 in (/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/admin/.local/bin:/home/admin/bin)
$

・Python3がyumでインストール可能なことを確認する。

$ sudo yum list available | grep "python3"
python3.i686                           3.7.6-1.amzn2.0.1              amzn2-core
python3.x86_64                         3.7.6-1.amzn2.0.1              amzn2-core
python3-Cython.x86_64                  0.27.3-2.amzn2.0.2             amzn2-core
python3-debug.x86_64                   3.7.6-1.amzn2.0.1              amzn2-core
python3-devel.x86_64                   3.7.6-1.amzn2.0.1              amzn2-core
python3-libs.i686                      3.7.6-1.amzn2.0.1              amzn2-core
python3-libs.x86_64                    3.7.6-1.amzn2.0.1              amzn2-core
python3-lit.noarch                     0.7.1-1.amzn2.0.1              amzn2-core
python3-openmpi.x86_64                 4.0.1-11.amzn2.0.1             amzn2-core
python3-pip.noarch                     9.0.3-1.amzn2.0.2              amzn2-core
python3-rpm.x86_64                     4.11.3-40.amzn2.0.4            amzn2-core
python3-rpm-macros.noarch              3-23.amzn2                     amzn2-core
python3-setuptools.noarch              38.4.0-3.amzn2.0.6             amzn2-core
python3-test.x86_64                    3.7.6-1.amzn2.0.1              amzn2-core
python3-tkinter.x86_64                 3.7.6-1.amzn2.0.1              amzn2-core
python3-tools.x86_64                   3.7.6-1.amzn2.0.1              amzn2-core
python3-wheel.noarch                   0.30.0a0-9.amzn2.0.3           amzn2-core
$

・インストールする。

$ sudo yum install python3

・確認

$ python3 -V
Python 3.7.6
$ pip3 -V
pip 9.0.3 from /usr/lib/python3.7/site-packages (python 3.7)
$
・Gitのインストール

・インストールする。

$ sudo yum install git

・確認

$ git --version
git version 2.23.3
$
・Nginxのインストール

・Nginxはyumでインストールしようとすると、以下のようにamazn-mainでは提供していないが、amazon-linux-extrasで提供しているのでそちらを利用するように言われる。

 $ sudo yum install nginx
読み込んだプラグイン:extras_suggestions, langpacks, priorities, update-motd
amzn2-core                                               | 2.4 kB     00:00
パッケージ nginx は利用できません。
エラー: 何もしません


nginx is available in Amazon Linux Extra topics "nginx1.12" and "nginx1"

To use, run
# sudo amazon-linux-extras install :topic:

Learn more at
https://aws.amazon.com/amazon-linux-2/faqs/#Amazon_Linux_Extras

amazon-linux-extrasでNginxをインストールする。

$ sudo amazon-linux-extras install nginx1

・確認

$ nginx -V
nginx version: nginx/1.16.1
(省略)
$
・Gunicornのインストール

・インストールする。

$ sudo pip3 install gunicorn
WARNING: Running pip install with root privileges is generally not a good idea. Try `pip3 install --user` instead.
Collecting gunicorn
  Downloading https://files.pythonhosted.org/packages/69/ca/926f7cd3a2014b16870086b2d0fdc84a9e49473c68a8dff8b57f7c156f43/gunicorn-20.0.4-py2.py3-none-any.whl (77kB)
    100% |████████████████████████████████| 81kB 3.3MB/s
Requirement already satisfied: setuptools>=3.0 in /usr/lib/python3.7/site-packages (from gunicorn)
Installing collected packages: gunicorn
Successfully installed gunicorn-20.0.4
$

WARNING: Running pip install with root privileges is generally not a good idea. Try `pip3 install --user` instead.については以前の記事を参照。
結論としては無視する。

・確認

$ gunicorn -v
gunicorn (version 20.0.4)
$
Djangoのインストール

・インストールする。

$ sudo pip3 install django

・確認

$ which django-admin
/usr/local/bin/django-admin
$

以上で「その2:必要なソフトウェアのインストール」は完了。
その3に続く。