flask + nginx + uwsgi, の設定
index:
概要
前回の、flask関連となりますが。
nginx + uwsgi と連携し、flask 活用する例となります。
環境
python 3.5
flask
nginx
uwsgi
インストールなど
nginx:
sudo apt-get install nginx
確認、
sudo service nginx status
停止、起動など
sudo service nginx stop
sudo service nginx start
sudo service nginx restart
設定など
上記の、参考ページ
を参考していますので。ほぼ同様ですが
Nginxの設定
/etc/nginx/conf.d/ 、にconf追加
myapp.conf
# server { listen 80; location / { include uwsgi_params; uwsgi_pass unix:///tmp/uwsgi.sock; } }
=> スペースが含まれる場合、エラーになりましたので。
タブを使用しています。
https://github.com/kuc-arc-f/flask_myapp/blob/master/nginx_conf/myapp.conf
sockファイルの場所など、適宣きめてます。
/etc/nginx/sites-enabled/ に、リンク設定有る場合は、けします。(rm )
チェック、
sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
successful が、でれば。OKです。
起動しときます。
sudo service nginx start
uwsgi
インストール:
pip3 install uwsgi
flask の起動ファイルを、作成
app.py
from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" if __name__ == "__main__": app.run(host='localhost', debug=True)
uwsgi コマンドで、起動します。
=> ブラウザで、設置IP を開くと、 Hello world でます。
uwsgi --socket /tmp/uwsgi.sock --module app --callable app --chmod-socket=666
=> uwsgi コマンドが、実行できない場合。
pip3 インストールに、パス設定が不足している場合は。追加します。
export PATH=$PATH:~/.local/bin/
・設定ファイルからの起動
uwsgi --ini myapp.ini
=>iniファイルからの、起動ができるようです。