AWS lightsail + bitnami でflaskを動かす

はじめに

以前、AWS lightsail + Bitnamiで複数WordPress設置でWordPressを複数動かしました。

今度は、flaskを動かそうと思います。

Pyenvのインストール

AWS上ではデフォルトでpython2がインストールされていますが、
python3をインストールする際はPyenvを使用しましょう。

Pyenvでインストールする際はpyenv と pyenv-virtualenv で環境構築参照してください。

ただし、のちほどpip3でmod-wsgiをインストールするのですが、その際pythonインストール時に env PYTHON_CONFIGURE_OPTS=”–enable-shared”を指定しないと、エラーでインストールできません。必ず指定しましょう

flask/mod-wsgiのインストール

下記のコマンドで mod-wsgi をインストールしてください。

pip install flask mod-wsgi

flaskアプリの設置

/home/bitnami/tmpに下記を追加してください。

  1. app.py
# coding: utf-8
from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello, Flask!"

if __name__ == "__main__":
    app.run()
  1. adapter.wsgi
# coding: utf-8
import sys
sys.path.insert(0, '/home/bitnami/tmp')

from app import app as application

appsの設定

/home/bitnami/apps 配下に flaskフォルダを作成、フォルダ配下に下記を設置してください。

httpd-vhosts.conf

LoadModule wsgi_module /home/bitnami/.pyenv/versions/3.7.2/lib/python3.7/site-packages/mod_wsgi/server/mod_wsgi-py37.cpython-37m-x86_64-linux-gnu.so


<VirtualHost *:80>
  ServerName [Your Address]
  DocumentRoot /home/bitnami/tmp
  WSGIScriptAlias / /home/bitnami/tmp/adapter.wsgi
  <Directory "/home/bitnami/tmp/">
    Require all granted
  </Directory>
</VirtualHost>

apacheの再起動

下記のコマンドでapcheを再起動してください、起動後アクセスが行えるはずです。

/opt/bitnami/ctlscript.sh restart apache

備考

Apcheログは下記で確認できます。

tail -f  /opt/bitnami/apache2/logs/error_log

参考

  1. AWS(EC2) で Python3 + Flask を Apache で動かす
  2. pyenv と pyenv-virtualenv で環境構築

AWS, Python

Posted by RV