【问题标题】:Deploy a MEAN stack application to an existing server将 MEAN 堆栈应用程序部署到现有服务器
【发布时间】:2017-09-05 23:31:53
【问题描述】:

我在 DigitalOcean 上有一个托管网站的 Ubuntu 服务器,以及托管另一个网站的 AWS 上的 Windows 服务器。

我刚刚在我的 MAC 上构建了一个 mean.js 堆栈应用程序,我计划将其部署到生产环境中。

似乎大多数现有线程都在讨论使用新的专用服务器。例如,this thread 是关于部署在一个新的 AWS EC2 实例上; this video 是关于在新的 Windows Azure 服务器上部署; this 是在 DigitalOcean 中创建一个新的水滴。

我的问题是,是否可以使用现有服务器(托管其他网站)而不是创建新服务器?如果是,在性能方面会有什么不同吗?

【问题讨论】:

  • 为什么不将您的应用程序 docker 化并在服务于其他网站的主机中运行容器? docker 便宜且高度可配置,但更重要的是可移植。
  • 我不知道docker...其实我并不需要经常移动应用程序,所以它的可移植性优势对我来说不是很有吸引力...
  • 好吧,docker 处理性能非常好,并且对节点应用程序进行 docker 化并不难,这里有一个非常简单的教程:nodejs.org/en/docs/guides/nodejs-docker-webapp 我认为它非常适合在单个服务器上运行多个应用程序。

标签: node.js amazon-web-services nginx mean-stack digital-ocean


【解决方案1】:

我的问题是,是否可以使用现有服务器(托管其他网站)而不是创建新服务器?

是的。 Windows 和 Ubuntu 都允许您在同一个实例上部署多个应用程序。

对于 Ubuntu,您可以阅读 this 帖子,这将帮助您为多个应用程序提供服务。 在此示例中使用了 Nginx,但您可以按照 this 示例并在没有任何服务器(如 Apache 或 Nginx)的情况下使用它。如果您需要子域,我建议您使用带有反向代理模块的 Apache 虚拟主机和pm2

对于 Windows 及其 IIS,我建议使用iisnode,在 google 中你可以找到很多关于如何配置它的文章。

在性能方面会有什么不同吗?

这取决于您的应用程序,如果您已经在为处理大量流量并需要 CPU 和内存的应用程序提供服务,我不建议您在同一实例上使用多个应用程序,但如果您要使用简单的 Web 应用程序,您可以轻松使用相同的实例。

希望这个答案对你有所帮助!

【讨论】:

    猜你喜欢
    • 2018-11-08
    • 2019-11-24
    • 2018-12-21
    • 1970-01-01
    • 2014-07-08
    • 2017-03-09
    • 2015-07-28
    • 2014-03-09
    • 1970-01-01
    相关资源
    最近更新 更多