Похож apache2ctl
не находится в Вашем пути. Попробуйте это вместо этого:
$ sudo /usr/sbin/apache2ctl restart
Вышеупомянутое местоположение отражает местоположение apache2ctl
в Ubuntu. Я не уверен, где местоположение по умолчанию находится на CentOS. Если вышеупомянутая команда не работает, можно найти местоположение путем выполнения следующего как корня:
$ which apache2ctl
Я предполагаю, что запрашиваемые вами URL обрабатываются с помощью try_files
внутри местоположения ^ ~ / foo /
и из-за их отсутствия файлы, они внутренне перенаправляются в другой обработчик местоположения
, не унаследованный gzip off
.
Попробуйте использовать "именованное местоположение" в / foo
location , а затем определите это "именованное" местоположение @fooNoGzip
с gzip off
внутри и fasgi_pass
прочим.
Поскольку каждое местоположение является независимым, установка 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;
}
ફક્ત કેટલાક નેક્રો-રોમાંસ ખાતર: ઓ.પી.નું અપડેટ થયેલ એનજીએનએક્સ કન્ફિગરેશન કાર્ય કરી રહ્યું ન હતું કારણ કે તે આખરે \. 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;
}
}