#author("2019-01-11T06:28:39+00:00","","")
* Nginx+uwsgiでFlaskアプリケーション [#jfbc4dba]
#setlinebreak(on)

#contents
-- 関連
--- [[Nginx]]
--- [[Flaskの基礎]]
-- 参考
--- https://uwsgi-docs.readthedocs.io/en/latest/WSGIquickstart.html

#TODO

** 概要 [#gdd7ab34]
#html(<div style="padding-left:10px">)
#TODO
#html(</div>)

** Flask、uWSGI インストール [#occabcae]
#html(<div style="padding-left:10px">)

#myterm2(){{
mkdir test_flask && cd test_flask
python3 -m venv .venv
source .venv/bin/activate
pip install flask
pip install uwsgi
}}

#html(</div>)

** サンプルアプリケーション [#q7453491]
#html(<div style="padding-left:10px">)

app.py
#mycode2(){{
from flask import Flask
import datetime

app = Flask(__name__)

@app.route('/')
def index():
    now = datetime.datetime.now().strftime('%H:%M:%S.%f')
    return f'<h1>top page!({now})</h1>\n'

@app.route('/sample')
def sample():
    now = datetime.datetime.now().strftime('%H:%M:%S.%f')
    return f'<h1>sample page!({now})</h1>\n'
}}

#html(</div>)

** まずは uwsgiのみで動かしてみる [#v450df85]
#html(<div style="padding-left:10px">)

参考
https://uwsgi-docs.readthedocs.io/en/latest/WSGIquickstart.html

uwsgi起動
#myterm2(){{
uwsgi --http :3031 --wsgi-file app.py --callable app
}}

確認
#myterm2(){{
curl http://localhost:3031/
top page!(13:35:03.767707)
}}

#html(</div>)

** nginxインストール [#r1784e69]
#html(<div style="padding-left:10px">)
[[Nginx]] を参照
#html(</div>)

** nginxの設定 [#zb01b5b3]
#html(<div style="padding-left:10px">)
#TODO
#html(</div>)

** 全部入りのDockerイメージを作る [#lee978eb]
#html(<div style="padding-left:10px">)
#myterm2(){{
apt-get -y install software-properties-common
add-apt-repository -y ppa:deadsnakes/ppa
apt-get update
apt-get -y install python3.6
}}
#html(</div>)

** 全部入りのDockerイメージを作る [#lee978eb]
#html(<div style="padding-left:10px">)

Dockerfile
#mycode2(){{
FROM ubuntu
apt-get update
apt-get -y install software-properties-common
add-apt-repository -y ppa:jonathonf/python-3.6
apt-get update
apt-get -y install python3.6
apt-get -y install nginx

ln -s /usr/bin/python3.6 /usr/bin/python
rm -rf /usr/bin/python3
ln -s /usr/bin/python3.6 /usr/bin/python3
}}
#html(</div>)

トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS