节点 - 在本地计算机上设置虚拟主机

时间:2017-12-15 15:18:07

标签: node.js express virtualhost

我尝试在本地计算机上为我的Node(Express)项目设置虚拟主机。但我无法弄清楚如何避免端口号

这是我在/ etc / hosts文件中输入的内容。

192.168.151.207  www.potato.com
192.168.151.207  www.tomato.com

我可以通过www.potato.com:3000访问网站,但我希望它只是www.potato.com。

我最近几天谷歌搜索,但所有解决方案都说使用Nginx进行反向代理。我还读过一些地方,如果我使用Nginx,我就不能使用Socket。套接字是我必须在项目的下一阶段使用的东西。

衷心感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

你试过virtualhost npm包吗?

  

让您的HTTP服务器非常简单地识别主机名。

     

您为每个服务器名称定义处理程序,并返回   要传递给HTTP服务器的最终处理程序。

     

与Express合作正常。

如果您希望使用不同的应用程序为每个虚拟主机提供服务(因为它们无法侦听同一个端口),您只需要使用nginx或任何其他代理解决方案(还有nodejs模块也可以与您的应用程序集成)。

答案 1 :(得分:0)

这是我的问题的答案。我只使用Nginx并设置反向代理。 首先在我的/ etc / hosts文件中添加我想要使用的域。

  

127.0.0.1 tomato.com

这意味着每当我打开这个URL" tomato.com"浏览器将更改为127.0.0.1。但是我的Express服务器运行在127.0.0.1:3000上。现在我们需要将127.0.0.1指向127.0.0.1:3000。使用Nginx我们可以配置它。下面给出的代码行做到了这一点。 /etc/nginx/sites-available/tomato.conf



server_name tomato.com;

location / {
        proxy_pass "http://127.0.0.1:3000/"

}




有关详细信息,请查看Digitalocean

中的这篇文章