运行Apache2+WSGI+Flask
环境
-
- さくらVPS(Ubuntu 18.04.2)
-
- Python 3.6.9
- Apache2
设定
设置文件
/var/www/html/flask
- Hello.py
- test.wsgi
/etc/apache2/sites-available
- wsgi.conf
首先是脚本的主体部分。
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'Hello'
if __name__ == '__main__':
app.run()
然后创建WSGI文件。
import sys, site
sys.path.insert(0, '/var/www/html/flask')
from Hello import app as application
Apache的配置。
# wsgi.conf
<VirtualHost *:80>
serverName (契約したサーバのIPアドレス or ドメイン名)
WSGIDaemonProcess test user=(Pythonを実行するユーザ名) group=(そのユーザのグループ) threads=5
WSGIScriptAlias / /var/www/html/flask/test.wsgi
<Directory /var/www/html/flask>
WSGIProcessGroup test
WSGIApplicationGroup %{GLOBAL}
WSGIScriptReloading On
Require all granted
</Directory>
</VirtualHost>
重启服务器
启用wsgi.conf。
$ sudo a2ensite wsgi
然后重新启动Apache。
$ sudo service apache2 restart
如果使用这个网站进行访问,应该会显示出”Hello”。
以下是参考的内容
-
- PythonのFlaskを初めて触ってから30分で本番環境にデプロイ+ HTTPS通信まで完成
Apache上でFlaskを動かすまで(Apache2+wsgi+Flask)
Ubuntu環境でApache WSGI flaskなWebアプリケーションを構築する