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.
下被调用
我正在 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.