2011-02-09 51 views
0

嗨有:我有一個奇怪的問題關於一個新的服務器安裝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數據,所以客戶端會吃掉它?非常感謝。

回答

0

嘗試關閉您的動態生成位置的gzip_static。 gzip_static會嘗試在與請求相同的目錄中創建.gz文件,這可能會導致PHP,Ruby等問題。

另外,我會將gzip_comp_level設置爲5或6,特別是如果您是用gzip_static緩存壓縮文件。

+0

感謝您的意見。這個問題似乎通過拒絕php的錯誤報告級別來解決,因爲它在正確的gzip數據之前抽取了像過時一樣的錯誤或通知。該程序關閉後可以正常工作。我會將gzip級別轉換爲你所說的。 〜 – wlicpsc 2011-02-14 08:56:38