常规节点服务器和静态服务器之间的路由?

Posted

技术标签:

【中文标题】常规节点服务器和静态服务器之间的路由?【英文标题】:Routing between regular node server and static server? 【发布时间】:2016-12-12 18:35:20 【问题描述】:

我正在建立一个网站,其中的着陆页和其他一些内容是基于 node、express、angular2 等的。

我想要一个运行 Hexo 的子域 (blog.mydomain.com)。

在我的开发机器上,我运行hexo server 来测试localhost:4000 上的博客。我可以通过运行hexo generate -deploy 部署到heroku。但是,似乎没有任何关于这实际上在做什么的文档。所以我有两个问题 - 如果我有一个节点应用程序,其中一个子目录包含我当前的 hexo 项目,我将如何部署它,就像我刚刚上传内容一样,什么会触发 hexo 运行?

其次,我如何从我的主应用程序路由到博客?我已经看到了一些建议将 vhost 与 express 一起使用。我是否可以通过不同的端口运行两台服务器,然后将/blog 路由到0.0.0.0:4000 例如?

【问题讨论】:

【参考方案1】:

听起来你把事情复杂化了。

从您的问题来看,您似乎想要:

在 www.mydomain.com 上运行的动态生成的 Node 网站 在 blog.mydomain.com 上运行的静态博客(由 Hexo 生成)

在这种情况下,您需要执行以下操作:

保持您的 Node.js 代码和您的博客项目分开。不要将它们放在同一个项目文件夹中。 为 Hexo 和您的主网站拥有自己的单独部署脚本。听起来你已经有了这个。 如果您想从您的主网站链接到您的博客,请使用普通的 html 链接(<a> 标记)。没有理由做任何花哨的事情。

如果我在您的博客上并点击标题图片或徽标,我预计会被带回您的主网站。为此,只需将主文本或图像链接到您的主域,<a href="www.mydomain.com>...</a>

这将使事情变得简单、易于理解和维护,并且易于部署。

【讨论】:

以上是关于常规节点服务器和静态服务器之间的路由?的主要内容,如果未能解决你的问题,请参考以下文章

metalLB和NodePort之间的区别

静态路由RIPOSPFBGP

heartbeat与keepalived的比较和选择

静态路由和动态路由的区别

动态路由器

动态路由器