Blocos de localização de Nginx a montante em confs de site

2

Eu tenho alguns sites em um ambiente de servidor Ubuntu 16.04-Nginx e o arquivo conf Nginx de cada um deles inclui este conjunto de blocos de localização:

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;
}

Este conjunto é o mesmo em todos os confs e isso resulta em redundância . Eu tentei colocá-lo dentro de um bloco de servidor no global /etc/nginx/nginx.conf e reiniciei o servidor, mas o servidor falhou.

Como pode um upstream ser definido a partir de /etc/nginx/nginx.conf , no bloco de servidores de cada site conf?

    
por Arcticooling 14.01.2018 / 13:53

1 resposta

4

Estou assumindo que sua pergunta é como você pode corrigir os problemas de redundância, corrija-me se eu estiver errado. E se você pretende mover o bloco de localização para o nginx.conf, receio que isso não seja possível. No entanto, se você tiver a mesma configuração para vários servidores virtuais, poderá usar a diretiva 'include' em todos os servidores virtuais. Aqui está o exemplo:

server{
    ...
    include /etc/nginx/common.d/location_common.conf;
    ...
}

E copie sua configuração para o caminho. Eu espero que isso te ajude. Obrigado

    
por 14.01.2018 / 15:15