Pylons优雅的错误处理去哪了?使用Nginx + Paster + Flup#fcgi_thread
我需要通过nginx来运行我的开发环境,因为我的pylons应用有一些复杂的子域名路由规则,其他方式处理不了。
之前我一直使用lighttpd + paster + Flup#scgi_thread,这个环境下Pylons的错误报告功能很好用,一切都很顺利。
昨天我把Python和MySQL重新编译成64位的版本,并且把开发环境换成了Nginx + paster + Flup#fcgi_thread。
现在一切运行得很好,但我很怀念之前那种漂亮的错误报告。现在我得到的错误信息看起来很乱,跟我之前习惯的完全不一样:
下面是pylons和nginx的配置文件。
Pylons:
[server:main]
use = egg:Flup#fcgi_thread
host = 0.0.0.0
port = 6500
Nginx:
location / {
#include /usr/local/nginx/conf/fastcgi.conf;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_pass_header Authorization;
fastcgi_intercept_errors off;
fastcgi_pass 127.0.0.1:6500;
}
2 个回答
0
看起来你没有从 _debug/media/traceback.css 获取到 trackback 的样式文件。你可以试着查看一下这个样式文件,看看 nginx 是否应该直接提供你的静态内容。
2
我猜你需要设置Flup,让它关闭自己的错误处理,这样Paster用的那个好用的错误处理才能正常工作。