2017-03-05 109 views
0

我的nginx.conf包含此:Nginx的子文件夹的位置

server { 
    listen   80; 
    server_name  myserver.com X.X.X.X; 
    root /var/www/html; 

    location/{ 
     proxy_pass http://127.0.0.1:8082; 
     proxy_http_version 1.1; 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection "upgrade"; 
     proxy_set_header Host $host; 
     proxy_buffering  off; 
     proxy_connect_timeout 43200000; 
     proxy_send_timeout 43200000; 
     proxy_read_timeout 43200000; 
     proxy_redirect off; 
     proxy_set_header Proxy ""; 
    } 

    location /api/socket { 
     proxy_pass http://localhost:8082/api/socket; 
     proxy_http_version 1.1; 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection "upgrade"; 
    } 
    location /newapp { 
     #Should this be empty? 
    } 

} 

正如你所看到的,/和/ API /插座指向一个代理。他们两人都工作。 本来这行不存在:

root /var/www/html; 

我加入吧。我还添加了“location/newapp”。我想是去索引文件的文件夹/无功在/ www/html等当我输入

myserver.com/newapp

不过,我得到在配置文件中的404我失去的东西?

+0

我还是得到了404.有趣的事情在nginx的error.log中。这是打印:/ var/www/html/newapp失败(2:没有这样的文件或目录) – oderfla

回答

0

在/ var/www/html里面创建文件夹/ newapp解决了这个问题。但我不确定这是否是一条可行的路。然而,它的工作。

1

如果您想在URI /newapp(或/newapp/index.html)找到该文件/var/www/html/index.html,你将需要使用alias指令,而不是root指令。

例如:

location /newapp { 
    alias /var/www/html; 
} 

参见this document更多。