如何将 Flask 应用程序部署到 ubuntu

how to deploy flask apps to ubuntu

我知道关于这个问题的 digitalocean 文档存在,但由于某些原因它并没有真正起作用。

Ubuntu:14.04
HTTP 服务器:apache2
模块:wsgi

状态

遵循整个教程并相应地编辑文件以匹配我的 flask 项目,问题是即使所有内容都根据文档部署,域或服务器 ip 也显示任何响应。

代码

文件名:numiCloud.wsgi

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

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

文件名:/var/www/numiCloud/numiCloud/__init__.py

from flask import Flask
app = Flask(__name__)

@app.route('/')
def root():
    return "Deployed!"

if __name__=="__main__':
    app.run()

文件名:/etc/apache2/sites-available/numiCloud.conf

<VirtualHost *:80>
     ServerName 183.83.199.118

    WSGIDaemonProcess numiCloud user=devx136 threads=5
    WSGIScriptAlias / /var/www/numiCloud/numicloud.wsgi

    <Directory /var/www/numiCloud/>
        WSGIProcessGroup numiCloud
        WSGIApplicationGroup %{GLOBAL}
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>

文件名:/var/log/apache2/error.log
link

wsgi 模块已启用,apache 的虚拟主机也已启用,但我仍然没有看到我不希望它显示的文本 return。该站点无论如何都会显示 404 未找到错误。

更新:好吧,似乎没有人知道解决方案..

只是希望没有其他人解决这个问题,但我唯一做的就是将 Web 服务器更改为 nginx 并使用 gunicorn 来配置 python 脚本执行。

对于那些能够在 apache 上运行它的人,如果我在配置中做错了什么,请报告。