Amazon Elastic Bean Stalk: error: [Errno 13] Permission denied

Amazon Elastic Bean Stalk: error: [Errno 13] Permission denied

我正在 Elastic Bean Stalk 上构建一个 Flask 应用程序。部署后出现 500 Internal Server Error。当我查看日志时,发现有错误。

Traceback (most recent call last):
File "/opt/python/current/app/application.py", line 32, in <module>
application.run(debug=True, port=server_port, host='0.0.0.0')
File "/opt/python/run/venv/lib/python2.7/site-packages/flask/app.py", line 739, in run
run_simple(host, port, self, **options)
File "/opt/python/run/venv/lib/python2.7/site-packages/werkzeug/serving.py", line 617, in run_simple
test_socket.bind((hostname, port))
File "/usr/lib64/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
error: [Errno 13] Permission denied
* Running on http://0.0.0.0:80/ (Press CTRL+C to quit)
mod_wsgi (pid=6577): Target WSGI script '/opt/python/current/app/application.py' cannot be loaded as Python module.
mod_wsgi (pid=6577): Exception occurred processing WSGI script '/opt/python/current/app/application.py'.

application.py文件如下

from flask import Flask

application = Flask(__name__)

application.debug = True

# Application routes defined here
@application.route('/index')
def index():
    return "Hello World!"


# Run the application
application.run(debug=True, host='0.0.0.0')

我尝试了很多。我不明白发生了什么。在阅读了其他 Whosebug 问题后,我发现这是由于没有 root 权限引起的。我将如何 运行 我的 WSGI 脚本在 elastic bean stalk 中具有 root 权限。

使用:

# Run the application
if __name__ == '__main__':
    application.run(debug=True, host='0.0.0.0')

当 mod_wsgi 下的 运行 时不应调用 application.run()。它仅适用于 运行 来自命令行的脚本。该 'if' 语句将确保它不会在 mod_wsgi.

下被调用