A diretiva root
é o problema aqui. Citação do doc :
note: Keep in mind that the root will still append the directory to the request so that a request for "/i/top.gif" will not look in "/spool/w3/top.gif" like might happen in an Apache-like alias configuration where the location match itself is dropped. Use the alias directive to achieve the Apache-like functionality.
Basicamente, use apenas root
para raízes real : se o conteúdo estiver em /
use root. Se for terminar em uma subpasta, use alias:
location /map/ {
alias /home/user/public_html/map/;
}
Verifique também em qual usuário o nginx está sendo executado e certifique-se de que esse usuário possa acessar /home/user/public_html/map