0

您好:我有一个关于安装了 Nginx+php-fpm+passenger 的新服务器的奇怪问题。一切都是最新版本。我已经把所有东西都配置好了,所有的网页都在运行,但是当用户试图访问我的私人跟踪器的 php 跟踪器时,它会返回一个错误:“无法解压缩”。这是uTorrent。在 Vuze 上,这是一个 Java Gzip 异常,说它不是一个有效的 gzip 文件左右,这清楚地表明服务器一直在返回一些客户端不理解的 gzip 数据。

所以这是我的 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 --with-http_gzip_static_module 基于此处所述的教程 http://geeksharp.com/2010/09/14/nginx-rails-and-php-round -2/ 所以我猜这是一个gzip问题,任何人都有任何解决方案让服务器返回正确的gzip数据,所以客户端吃掉它?非常感谢。

4

1 回答 1

0

尝试为您动态生成的位置关闭 gzip_static。gzip_static 将尝试在与请求相同的目录中创建一个 .gz 文件,这可能会导致 PHP、Ruby 等出现问题。

另外,我会将 gzip_comp_level 设置为 5 或 6,尤其是当您使用 gzip_static 缓存压缩文件时。

于 2011-02-10T05:19:02.887 回答