我在apache服务器上部署了一个python flask应用程序.这是我的abc.conf档案:
WSGIDaemonProcess voting_app threads=5
WSGIScriptAlias /election /var/www/voting_app/voting.wsgi
LogLevel info
ErrorLog "/var/www/voting_app/error.log"
CustomLog "/var/www/voting_app/access.log" combined
<Directory /var/www/voting_app>
WSGIProcessGroup voting_app
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)
为了检查调试,我在我的应用程序中出现了语法错误.在重新启动服务器时,我收到500服务器错误但我无法在任何地方看到错误的详细信息.我检查了我添加的两个文件作为日志 - 它们完全是空白的.日志文件也是如此/var/log/apache2.我在这里错过了什么?
在生产环境中运行Flask时,而不是使用内置的开发服务器,它会将应用程序异常转换为HTTP 500响应,但不会记录任何内容.所以你看到的是正常的.
如果您是唯一一个查看该站点的人,您可以暂时启用调试模式,就像使用开发服务器自动完成一样.有关如何执行此操作,请参阅:
http://flask.pocoo.org/docs/quickstart/#debug-mode
特别:
app.debug = True
Run Code Online (Sandbox Code Playgroud)
其中'app'是Flask类实例.
这将导致在发出请求的浏览器中显示错误的详细信息.
在真正的生产系统上,你显然不应该使用它,所以在这种情况下你应该设置Flask来记录这样的应用程序错误.为此,请参阅:
http://flask.pocoo.org/docs/errorhandling/