Выключите gzip для местоположения в Nginx

Похож apache2ctl не находится в Вашем пути. Попробуйте это вместо этого:

$ sudo /usr/sbin/apache2ctl restart

Вышеупомянутое местоположение отражает местоположение apache2ctl в Ubuntu. Я не уверен, где местоположение по умолчанию находится на CentOS. Если вышеупомянутая команда не работает, можно найти местоположение путем выполнения следующего как корня:

$ which apache2ctl
4
задан 16 October 2012 в 20:11
3 ответа

Я предполагаю, что запрашиваемые вами URL обрабатываются с помощью try_files внутри местоположения ^ ~ / foo / и из-за их отсутствия файлы, они внутренне перенаправляются в другой обработчик местоположения , не унаследованный gzip off .

Попробуйте использовать "именованное местоположение" в / foo location , а затем определите это "именованное" местоположение @fooNoGzip с gzip off внутри и fasgi_pass прочим.

2
ответ дан 3 December 2019 в 04:12

Поскольку каждое местоположение является независимым, установка gzip off на @php_nogzip не будет применяться к местоположению ~ \ .php $ , он по-прежнему использует значение по умолчанию для nginx / server. Вот почему вы видите, что gzip отключен, потому что это значение по умолчанию. Будут сжиматься только файлы, доставляемые try_files в @php_nogzip .

Единственный способ, который я вижу, - это использовать карту. В блоке http используйте:

map $uri   $gz {
   default  "on";
    ~/foo/  "off";
}

Затем на сервере:

   location ~ \.php$ {
        gzip $gz; 
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_read_timeout 300;
    }
-1
ответ дан 3 December 2019 в 04:12

ફક્ત કેટલાક નેક્રો-રોમાંસ ખાતર: ઓ.પી.નું અપડેટ થયેલ એનજીએનએક્સ કન્ફિગરેશન કાર્ય કરી રહ્યું ન હતું કારણ કે તે આખરે \. Php $ લોકેશન બ્લોક દ્વારા નિયંત્રિત થાય છે.

યોગ્ય નિરાકરણ તેને દૂર કરવામાં અને ફાસ્ટસીજીઆઈ (પીએચપી-એફપીએમ) ને વિનંતી કરનારા તરીકેના નામવાળી જગ્યાઓ બનાવવાનું છે:

server {
    listen   80;
    server_name www.mydomain.com mydomain.com;
    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;
    root /var/www/mydomain/public;

    index index.php index.html;

    location / {
        try_files $uri $uri/ @php;
    }

    location /foo/ {
        try_files $uri $uri/ @php_nogzip;
    }

    location @php {
        gzip on;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_read_timeout 300;
    }

    location @php_nogzip {
        gzip off;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_read_timeout 300;
    }
}
0
ответ дан 3 December 2019 в 04:12

Теги

Похожие вопросы