Python Flask调试记录器在生产中导致500服务器错误(Apache)
正在尝试将500个错误记录到我的Flask web应用程序的日志文件中。在本地主机上正常工作,但在Ubuntu上使用mod_WSGI和Apache的生产服务器上不能正常工作(根据此设置@)Python Flask调试记录器在生产中导致500服务器错误(Apache),python,apache,logging,flask,Python,Apache,Logging,Flask,正在尝试将500个错误记录到我的Flask web应用程序的日志文件中。在本地主机上正常工作,但在Ubuntu上使用mod_WSGI和Apache的生产服务器上不能正常工作(根据此设置@) 你知道为什么这在本地环境中有效,但在生产中却不起作用吗?更改调试设置似乎无法解决问题 最可能发生的情况是,您正在使用用户X运行开发中的web服务器,并且该用户对您的Flask应用程序存储的目录具有写入权限-因此它可以写入application.log 我从您发布的教程中注意到,所有directores都是使用
你知道为什么这在本地环境中有效,但在生产中却不起作用吗?更改调试设置似乎无法解决问题 最可能发生的情况是,您正在使用用户X运行开发中的web服务器,并且该用户对您的Flask应用程序存储的目录具有写入权限-因此它可以写入
application.log
我从您发布的教程中注意到,所有directores都是使用sudo
创建的,因此您的目录权限属于root用户,而您的Flask应用程序是作为另一个用户运行的,该用户无权写入root用户拥有的目录
有两种可能的修复方法:
将安装Flask应用程序的目录的权限更改为相同:
$ sudo chown -R www-data:www-data /var/www/FlaskApp
或
更改写入日志文件的位置(首选方法):
然后将代码更改为:
app.config['LOG_FILE'] = '/var/log/flaskapp/application.log'
是的,解决了问题。非常感谢你,马丁!有关更多相关阅读,请参见:和
$ sudo mkdir /var/log/flaskapp
$ sudo chown -R www-data:www-data /var/log/flaskapp
app.config['LOG_FILE'] = '/var/log/flaskapp/application.log'