【问题标题】:Python Flask app on AWS EC2AWS EC2 上的 Python Flask 应用程序
【发布时间】:2016-08-07 02:02:39
【问题描述】:

我有一个从 home/Application/demo 目录构建的 Python Flask 应用程序

  • src > 控制器 > (views.py, templates > index.html)

  • views.wsgi

views.wsgi


    import sys
    sys.path.insert(0, 'Applications/demo/src/controller')

    from views import app as application

views.py


    from flask import Flask

    app = Flask(__name__)

    if __name__ == '__main__':
        app.run(debug=True)

在 /etc/apache2/sites-available 中,我创建了一个名为 mysite.conf 的 conf 文件,内容为 -

<VirtualHost *:80>
         WSGIDaemonProcess views
     WSGIScriptAlias / /Applications/demo/views.wsgi

     <Directory /Applications/demo/src/controller>
            WSGIProcessGroup views
        WSGIApplicationGroup %{GLOBAL}
        Require all granted
     </Directory>
</VirtualHost>

然后运行这些命令 -

sudo a2dissite 000-default.conf
sudo a2ensite mysite.conf
sudo /etc/init.d/apache2 restart

当我重新启动 apache 并转到该页面时,我得到了

禁止

您无权访问此服务器上的 /。

【问题讨论】:

    标签: python apache amazon-web-services amazon-ec2 flask


    【解决方案1】:

    应该是:

     <Directory /Applications/demo>
        WSGIProcessGroup views
        WSGIApplicationGroup %{GLOBAL}
        Require all granted
     </Directory>
    

    WSGIScriptAlias引用的WSGI脚本文件所在目录,而不是之后导入的模块所在目录。

    【讨论】:

    • 谢谢@Graham,但仍然是同样的问题。我需要给文件一些权限吗?
    • 所有文件的目录和文件本身必须由运行 Apache 的用户读取。
    猜你喜欢
    • 1970-01-01
    • 2020-08-22
    • 2017-06-12
    • 2018-09-18
    • 2016-03-15
    • 2015-11-14
    • 2021-05-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多