Amazon Elastic Bean Stalk:错误:[Errno 13]权限被拒绝

时间:2015-03-09 04:26:01

标签: amazon-web-services amazon-ec2 flask elastic-beanstalk

我正在Elastic Bean Stalk上构建一个烧瓶应用程序。在部署之后我得到500内部服务器错误。当我检查日志时,我发现有错误。

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')

我尝试了很多。我不知道发生了什么。在阅读其他stackoverflow问题后,我发现这是由于没有root权限引起的。如何在弹性bean stalk中以root权限运行我的WSGI脚本。

1 个答案:

答案 0 :(得分:2)

使用:

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

在mod_wsgi下运行时,不应该进行application.run()调用。仅在从命令行运行该脚本时才适用。那&#39;如果&#39;声明将确保它不会在mod_wsgi下调用。