У меня есть несколько веб-сайтов в серверной среде Ubuntu 16.04-Nginx, и каждый файл конфигурации Nginx включает этот набор блоков местоположения:
location ~* \.(jpg|jpeg|png|gif|ico|css|js|ttf|woff|pdf)$ {
expires 365d;
}
location / {
index index.php index.html index.htm fastcgi_index;
try_files $uri $uri =404 $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php*-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Этот набор одинаков во всех конфигах, и это приводит к избыточность. Я пытался поместить его в серверный блок в глобальном /etc/nginx/nginx.conf
и перезапустил сервер, но сервер упал.
Как можно вверх по течению этот набор из /etc/nginx/nginx.conf
, в серверный блок каждого сайта conf?
Я предполагаю, что ваш вопрос заключается в том, как вы можете исправить проблемы с избыточностью, поправьте меня, если я ошибаюсь. И если вы намерены переместить блок местоположения в nginx.conf, я боюсь, что это невозможно. Однако, если у вас одинаковая конфигурация для нескольких виртуальных серверов, вы можете использовать директиву include на каждом виртуальном сервере. Вот пример:
server{
...
include /etc/nginx/common.d/location_common.conf;
...
}
И скопируйте вашу конфигурацию в путь. Я надеюсь, что это поможет вам. Спасибо