はじめに
Flask 使ってちょっとした自分用のアプリ作ろうと思ったので久々にさくらでサーバ借りてまずは構成管理をする。Ansible とか Chef とか使ってもいいがスケールする予定も今のところないので一旦手動で諸々セットアップを行う。CentOS7系の場合またいろいろ話が変わるので注意。
nginx
yum repository の登録
/etc/yum.repos.d ディレクトリの中に、以下のファイルを作成。
$ sudo vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/$basearch/
gpgcheck=0
enabled=1
yum install
# sudo 権限を持つユーザを仮定
$ sudo yum -y install nginx
pyenv
pyenv-installer を使う
以前は GitHub から入れた気がするが、pyenv-installerなるものがあったのでこちらを利用。
$ curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
ちなみに、このコマンドで pyenv-virtualenv もインストールされる。
~/.bash_profile に追記
export PATH="/home/{user}/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
{user}はユーザ名。
すぐに反映したいので
$ source ~/.bash_profile
依存ライブラリのインストール
yum install gcc gcc-c++ make git openssl-devel bzip2-devel zlib-devel readline-devel sqlite-devel bzip2 sqlite
zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel
Python 3.6.3のインストール
一旦 Python 3系の最新安定版である3.6.3をインストールする。
$ pyenv install 3.6.3
$ pyenv rehash
$ pyenv global 3.6.3
virtualenv
pyenv-virtualenv でもいいが、Flask のドキュメント見ても virtualenv を使ってるようだし、ディレクトリで閉じれるので virtualenv にしてみる。余談だが、この二つの差に関してはこちらのページがわかりやすい。
pipでかんたんに
先程インストールしたグローバルな python 3.6.3 に pip で入れてしまう。
$ pip install virtualenv