我有一个Rails API 和一个Web 应用程序(使用express),彼此完全分开且独立。我想知道的是,我必须单独部署它们吗?如果我这样做,我怎样才能使我的 api 处于mysite.com/api
和网络应用程序mysite.com/
我见过很多项目都是这样做的,甚至将 api 和应用程序放在单独的存储库中。
通常,您不会将此类 Web 应用程序直接公开给客户端。相反,您使用代理服务器,将所有传入请求转发到节点或 Rails 服务器。
nginx https://nginx.org/是一个受欢迎的选择。这初学者指南 http://nginx.org/en/docs/beginners_guide.html#proxy甚至包含一个与您想要做的非常相似的示例。
您可以使用类似于以下的配置来实现您想要的:
server {
location /api/ {
proxy_pass http://localhost:8000;
}
location / {
proxy_pass http://localhost:3000;
}
}
这是假设您的 API 在端口 8000 上本地运行,而您的 Express 应用程序在端口 3000 上运行。此外,这不是完整的配置文件 - 需要将其加载或添加到http
堵塞。从发行版的默认配置开始。
当有多个位置条目时,nginx 会选择最具体的一个。您甚至可以添加更多条目,例如提供静态内容。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)