Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

616
Visualizações
Sirva contenido estático a través de NGINX, según el nombre del subdominio

Estoy tratando de mejorar la velocidad de la página de un sitio que ejecuto sirviendo contenido estático directamente desde NGINX en lugar de que la solicitud llegue a PHP.

Tengo páginas web en rutas como esta:

  • gamea.com.misitio.com
  • otrob.net.misitio.com
  • finalc.org.misitio.com

Cuando se genera una página para estos, se almacena en una ruta como esta:

  • /almacenamiento/aplicación/page-cache/games/game/gamea_com/1.c
  • /almacenamiento/aplicación/page-cache/games/anot/anotherb_net/1.c
  • /almacenamiento/aplicación/page-cache/games/fina/finalc_org/1.c

La estructura de la ruta toma las primeras 4 letras del subdominio y luego sigue otra carpeta con la ruta completa y reemplaza "." con "_" - por ejemplo, "gamea.com" = "/juego/gamea_com/". El archivo de la página de caché real se almacena como "1.c"

¿Cómo podría lograrse esto a través de NGINX? Estoy un poco atascado, encontré este artículo pero no estoy seguro de cómo usarlo en mi caso. ¿Alguien puede proporcionar un ejemplo de configuración de NGINX que apunte a NGINX a la ruta correcta como se describe anteriormente?

agradezco a quien pueda ayudarme con esto!

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

El primer paso es capturar las tres partes del subdominio usando una expresión regular y luego pegarlas en una instrucción root . Utilice capturas con nombre, ya que las capturas numéricas pueden estar fuera del alcance donde se evalúan. Vea este documento para más detalles.

Por ejemplo:

 server { server_name "~^(?<name1>.{4})(?<name2>.*)\.(?<name3>.*)\.example\.com$"; root /path/to/root/$name1/$name1$name2_$name3; ... }

Alternativamente, decodifique la variable $http_host usando un map . La expresión regular es la misma y el resultado podría usarse en una declaración root o try_files .

Por ejemplo:

 map $http_host $mypath { default "nonexistent"; "~^(?<name1>.{4})(?<name2>.*)\.(?<name3>.*)\.example\.com$" $name1/$name1$name2_$name3; } server { ... root /path/to/root; location / { try_files $uri /$mypath$uri =404; } }

Puede dividir los try_files en dos bloques de location con:

 root /path/to/root; location / { try_files $uri @other; } location @other { try_files /$mypath$uri =404; }

Cambie los términos según los archivos que desee que Nginx busque primero. Utilice instrucciones add_header en cualquiera de las dos location para personalizar la respuesta adecuada. Vea este documento para más detalles. Cualquier location puede contener encabezados específicos

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda