路由到同一台机器上的各种node.js服务器

我想在同一台机器上设置多个node.js服务器(但在不同的端口上监听),这样我就可以在不影响其他的情况下编辑代码了。 不过,我希望能够从浏览器访问这些Web应用程序,而无需键入端口号,而是将不同的URL映射到不同的端口:例如45.23.12.01/app – > 45.23.12.01:8001。

我已经考虑过使用node-http-proxy ,但是它还不支持SSL。 我的直觉是nginx可能是最合适的。 我以前从来没有设置nginx – 我需要做什么configuration? 我见过的configuration文件的例子只处理子域,我没有。

另外,是否有一个更好的(稳定,无忧无虑)托pipe多个应用程序在同一个IP地址下的方式?

首先阅读wiki文档 。 这是非常彻底的,包括样品。 我不会给你一个完整的nginxconfiguration,但这里是你的问题的相关部分。

server { listen 80; server_name example.com; location /foo { proxy_pass http://localhost:9000; } location /bar { proxy_pass http://localhost:9001; } location /baz { proxy_pass http://localhost:9002; } } 

应该清楚那里发生了什么事情。 每个位置都将指定的URI代理到适当的node.js后端。

nginx可能是要走的路。 至less,这是我在我的服务器上运行。 一个configuration/描述的例子可以在这里find: https : //blog.noort.be/2011/03/07/node-js-on-nginx.html

您基本上在nginx中设置了不同的站点,每个站点将其stream量路由到运行在不同端口上的nodejs应用程序。