DjangoをEC2インスタンス上で動かす環境を構築する(その2:必要なソフトウェアのインストール)
概要
参考文献
- 『Pythonプロフェッショナルプログラミング 第3版』の「Chapter 11 環境構築とデプロイの自動化」
- 『現場で使える Django の教科書《実践編》』の「第7章 デプロイ」
その2:必要なソフトウェアのインストール
必要なソフトウェア
必要なソフトウェアは以下の通り
No | ソフトウェア名 | インストール方法 |
---|---|---|
1 | Python3 | yum(amzn-main) |
2 | Git | yum(amzn-main) |
3 | Nginx | amazon-linux-extra |
4 | Gunicorn | pip3 |
5 | Django | pip3 |
手順
前提
作業は全て「admin」ユーザーで行う。
・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) $