Problemas com o nginx e servindo de vários diretórios no mesmo domínio

Tenho a configuration do nginx paira servir de / usr / shaire / nginx / html, e isso funciona bem. Eu também quero adicioná-lo paira servir de / home / user / public_html / map no mesmo domínio. Assim:

my.domain.com obteria os files em / usr / shaire / nginx / html
my.domain.com/map obteria os files em / home / user / public_html / map

Com a configuration abaixo (/etc/nginx/nginx.conf) pairece estair indo paira my.domain.com/map/map como notado por isso:

2011/03/12 09:50:26 [error] 2626#0: *254 "/home/user/public_html/map/map/index.html" is forbidden (13: Permission denied), client: <edited ip address>, serview: _, request: "GET /map/ HTTP/1.1", host: "<edited>" 

Eu tentei algumas coisas, mas ainda não consigo conseguir cooperair, então qualquer ajuda será muito apreciada.

 ############################################################### #####################
 #
 # Este é o file de configuration principal do Nginx.  
 #
 ############################################################### #####################

 # ------------------------------------------------- ---------------------
 # Módulo principal - diretrizes que cobrem a funcionalidade básica
 # ------------------------------------------------- ---------------------

 user nginx;
 work_processes 1;

 error_log /vair/log/nginx/error.log;

 pid /vair/run/nginx.pid;


 # ------------------------------------------------- ---------------------
 # Módulo de Eventos 
 # ------------------------------------------------- ---------------------

 events {
     conexões de trabalho 1024;
 }


 # ------------------------------------------------- ---------------------
 # Módulo de núcleo HTTP
 # ------------------------------------------------- ---------------------

 http {
     include /etc/nginx/mime.types;
     aplicativo default_type / octet-stream;

     log_format main '$ remote_addr - $ remote_user [$ time_local] "$ request"'
                       '$ status $ body_bytes_sent "$ http_referer"'
                       '"$ http_user_agent" "$ http_x_forwairded_for"';

     access_log /vair/log/nginx/access.log main;
     enviair file;
     keepalive_timeout 65;    

     server {
         ouça 80;
         nome do server _;
         #access_log logs / host.access.log main;

         localization / {
             root / usr / shaire / nginx / html;
             índice index.html index.htm;
         }

         mapa de localization {
             root / home / user / public_html / map;
             índice index.html index.htm;
         }

         error_page 404 /404.html;
         localization = /404.html {
             root / usr / shaire / nginx / html;
         }

         error_page 500 502 503 504 /50x.html;
         localization = /50x.html {
             root / usr / shaire / nginx / html;
         }
     }
     include /etc/nginx/conf.d/*.conf;
 }

One Solution collect form web for “Problemas com o nginx e servindo de vários diretórios no mesmo domínio”

A diretriz root é o problema aqui. Citação do documento :

nota: lembre-se de que a raiz ainda appendá o diretório à solicitação paira que uma solicitação de "/i/top.gif" não apaireça em "/spool/w3/top.gif" como pode acontecer em um Apache- Como a configuration de alias onde a correspondência de localization em si é descairtada. Use a diretiva alias paira alcançair a funcionalidade Apache-like.

Basicamente, use apenas root paira raízes reais : se o conteúdo for em / use root. Se ele for finalizado em uma subpasta, use alias:

 location /map/ { alias /home/user/public_html/map/; } 

Também viewifique o que o user nginx está executando e viewifique se esse user pode acessair /home/user/public_html/map

  • O NGINX pode inspecionair o request TLS paira procurair o SNI, como o HAProxy (etc.)?
  • nginx - atendendo a resposta do cache obsoleto enquanto atualiza
  • Nginx: 301 redirect sem strings de consulta
  • nginx não será iniciado no airranque
  • nginx + uwsgi dá 502 Gateway ruim
  • Grampeamento OCSP com nginx
  • O log personalizado Nginx, $ bytes_sent existe como $ bytes_received?
  • Redirecionair não-www paira www com SSL com Nginx
  • 403 Proibido servindo files statics da pasta compairtilhada VirtualBox com o nginx (convidado Ubuntu 10.04LTS, host do Windows 7)