如何 运行 apache2(数字海洋)上的烧瓶应用程序

how to run a flask app on apache2 (digital ocean)

我正在尝试 运行 我的 Flask 应用程序在带有 apache2 的数字海洋服务器上。我按照这个教程

https://www.digitalocean.com/community/tutorials/how-to-deploy-a-flask-application-on-an-ubuntu-vps

学习本教程对我来说效果很好。但是,我想知道如果 run.app() 命令是在 run.py 而不是 init.py 中给出的,如何获得应用程序 运行ning?那我要怎么改

/etc/apache2/sites-available/FlaskApp.conf

/var/www/FlaskApp/flaskapp.wsgi 

教程中的设置似乎总是在寻找

/var/www/FlaskApp/FlaskApp/__init__.py

我的 run.py 看起来像这样

#!/opt/local/bin/python
from flask import Flask
from app import app
#app.run(debug = True)
if __name__ == "__main__":
    app.run(debug=True, host='127.0.0.1', port=5000) 

谢谢卡尔

您的 wgsi 服务器(在您的情况下为 modwsgi)正在寻找它可以使用的与 wgsi 兼容的 python 对象。您的 run.py 文件正在获取满足这些要求的 Flask app 对象。

所以理论上,您需要做的就是更改 flask.wsgi 文件内容(如您链接的教程所述):

#!/usr/bin/python
import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/var/www/FlaskApp/")

from FlaskApp import app as application
application.secret_key = 'Add your secret key'

至:

#!/usr/bin/python
import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/var/www/FlaskApp/")

from run import app as application
application.secret_key = 'Add your secret key'