2011-02-09 3 views
0

안녕하세요 : Nginx + php-fpm으로 설치된 새 서버에 관한 이상한 질문이 있습니다. + 승객. 모든 것이 최신 버전입니다. 나는 모든 설정이 잘되어 있고, 모든 웹 페이지가 실행되고 있지만 사용자가 내 개인 트래커의 PHP 추적기에 액세스하려고하면 "unzip"할 수 없다는 오류가 발생합니다. 이것은 uTorrent입니다. Vuze에서 유효한 gzip 파일이 아니라는 것을 나타내는 Java Gzip 예외입니다. 서버가 클라이언트가 이해하지 못하는 일부 gzip 데이터를 반환하고 있음을 명확하게 보여줍니다. 의 nginx가의 인수 승객에 의해 컴파일 된NGINX 컴파일 및 gzip 구성 (레일 3 + php-fpm 포함) : PHP 추적기에서 토런트 클라이언트가 "unzip"할 수 없음


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.conf의 --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

+0

프로덕션 박스에서 오류를 비활성화하는 데 사용할 수있는 display_errors라는 설정이 php.ini에 있습니다. –