NGINX编译和gzip配置(与rails 3 + php-fpm):“不能解压缩”由洪流客户端从php跟踪器
问题描述:
嗨有:我有一个奇怪的问题关于一个新的服务器安装Nginx + php-fpm +乘客。一切都是最新版本。我已经配置了一切,所有的网页都在运行,但是当用户试图访问我的私人跟踪器的php跟踪器时,它会返回一个错误:“无法解压缩”。这是uTorrent。在Vuze上,它是一个Java Gzip异常,说它不是一个有效的gzip文件,所以清楚地表明服务器已经返回了客户端不理解的一些gzip数据。NGINX编译和gzip配置(与rails 3 + php-fpm):“不能解压缩”由洪流客户端从php跟踪器
因此,这里是我的nginx.conf:
user www-data;
worker_processes 4;
events {
worker_connections 1024;
}
http {
passenger_root /home/meng/.rvm/gems/ruby-1.9.2-p136/gems/passenger-3.0.2;
passenger_ruby /home/meng/.rvm/wrappers/ruby-1.9.2-p136/ruby;
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on;
gzip_static on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
gzip_comp_level 2;
gzip_vary on;
gzip_proxied any;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
include /opt/nginx/conf/sites-enabled/*;
}
nginx的被乘客用的参数编译: --with-http_stub_status_module基于这里所说 http://geeksharp.com/2010/09/14/nginx-rails-and-php-round-2/ 教程--with-http_gzip_static_module 所以我想这是一个gzip问题,任何人都有任何解决方案来让服务器返回正确的gzip数据,所以客户端会吃掉它?非常感谢。
答
尝试关闭您的动态生成位置的gzip_static。 gzip_static会尝试在与请求相同的目录中创建.gz文件,这可能会导致PHP,Ruby等问题。
另外,我会将gzip_comp_level设置为5或6,特别是如果您是用gzip_static缓存压缩文件。
感谢您的意见。这个问题似乎通过拒绝php的错误报告级别来解决,因为它在正确的gzip数据之前抽取了像过时一样的错误或通知。该程序关闭后可以正常工作。我会将gzip级别转换为你所说的。 〜 – wlicpsc 2011-02-14 08:56:38