knaka Tech-Blog

AI, IoT, DIYエレクトロニクス, データサイエンスについて投稿予定です。

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

Github

github.com



試した、設定ファイル等

設定など

上記の、参考ページ
を参考していますので。ほぼ同様ですが

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ファイルからの、起動ができるようです。