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

时间:2016-08-06 13:03:29

标签: node.js express heroku vhosts hexo

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

我希望有一个运行Hexo的子域名(blog.mydomain.com)。

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

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

1 个答案:

答案 0 :(得分:0)

听起来你过于复杂了。

根据您的问题,您似乎想要:

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

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

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

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

即可

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