将服务器映射到nginx中的域指令

我想知道是否有可能将一个域指令映射到服务器。

在我们的例子中,我们有一个由Rails实例提供的api,然后我们有一个从Node服务器提供的前端。 理想情况下,我希望前端http://domain.com/ *和API到http://domain.com/api *,但这甚至有可能吗?

我尝试了以下(只是一个片段)。

# Configuration for API. server { server_name www.domain.com/api; location /api { try_files $uri @proxy; } .... } # Configuration for the server server { server_name www.domain.com; location / { try_files $uri @proxy; } ...... } 

然而,这似乎并没有工作,甚至有可能得到所需的? 或者我需要其中的一个在子域上运行?

这是server_name指令的无效语法。 在同一个server块中有两个应用程序。 显然有可能需要解决的冲突。 但是要扩展你的代码片段,你需要定义两个命名的位置,每个应用程序一个:

 server { server_name www.domain.com; location / { try_files $uri @proxy; } location @proxy { ... } location /api { try_files $uri @api; } location @api { ... } }