sitios - Configure nginx con múltiples ubicaciones con diferentes carpetas raíz en el subdominio
nginx no funciona (3)
El sistema de directiva de ubicación es
Como si desea reenviar todas las solicitudes que comienzan /static
y sus datos presentes en /var/www/static
Entonces, un método simple es separar la última carpeta de la ruta completa, eso significa
Ruta completa: /var/www/static
Última ruta: /static
y First path: /var/www
location <lastPath> {
root <FirstPath>;
}
Veamos qué cometió usted y cuáles son sus soluciones
Tu error :
location /static {
root /web/test.example.com/static;
}
Sus soluciones:
location /static {
root /web/test.example.com;
}
Estoy buscando servir la url raíz de un subdominio y el directorio de un subdominio a dos carpetas diferentes en mi servidor. Aquí está la configuración simple que tengo y no está funcionando ...
server {
index index.html index.htm;
server_name test.example.com;
location / {
root /web/test.example.com/www;
}
location /static {
root /web/test.example.com/static;
}
}
En este ejemplo, ir a test.example.com/ llevaría el archivo de índice a /web/test.example.com/www
e ir a test.example.com/static traerá el archivo de índice en /web/test.example.com/static
Necesita usar la directiva de alias
para location /static
:
server {
index index.html;
server_name test.example.com;
root /web/test.example.com/www;
location /static {
alias /web/test.example.com/static;
}
}
El wiki de nginx explica la diferencia entre raíz y alias mejor que yo:
Tenga en cuenta que puede parecer similar a la directiva raíz a primera vista, pero la raíz del documento no cambia, solo la ruta del sistema de archivos utilizada para la solicitud. La parte de ubicación de la solicitud se elimina en la solicitud de problemas de Nginx.
server {
index index.html index.htm;
server_name test.example.com;
location / {
root /web/test.example.com/www;
}
location /static {
root /web/test.example.com;
}
}