在 Windows 上部署 Meteor

Posted

技术标签:

【中文标题】在 Windows 上部署 Meteor【英文标题】:Deploy Meteor on Windows 【发布时间】:2016-02-23 02:15:56 【问题描述】:

我觉得很奇怪,没有关于如何将你自己的 Meteor webapp 部署到你自己的 Windows 服务器上的详细分步说明。 或者也许我只是无法使用 Google 找到这样的解释。

在许多页面上,甚至在 SO 上的一些问题上,我发现人们只是简单地说“build it and deploy it like any other node.js app”,这很好,除了我找不到关于如何将 node.js webapp 部署到 Windows 的任何解释服务器也可以。

Meteor 太棒了,我觉得如果有人能一步一步地写出如何在 Windows 服务器上部署 Meteor 应用程序,那么一大群人会非常高兴的露营者。 .. 特别是如果说明描述了如何将多个 Meteor 应用程序部署到一个 Windows 服务器上;)

当然不必是 IIS,nginx runs on Windows 就可以了。

另外,Node.js runs on Windows 很好。 MongoDB runs on Windows 很好,作为一项服务。 Meteor 在 Windows 上构建应用程序显然很好。因此,它确实缺少将其部署在 Windows 服务器上的最后一步......

那么,任何人都知道如何在一台 Windows 服务器上部署多个 Meteor 应用程序并愿意为此编写一个 n00b 友好 的分步说明吗?

漂亮吗?

【问题讨论】:

【参考方案1】:

嗯,他们关于 custom deployment 的页面很短,我在设法部署 Welcome to Meteor 应用程序时发现了一些事实:

ROOT_URL 环境变量是必需的,但里面的端口号似乎没有意义。 端口号由 PORT 环境变量定义或由节点分配。指南中未提及此 PORT 变量。我使用netstat 命令找出使用的端口。 MONGO_URL 环境变量在此应用程序中是可选的。 在执行meteor build之前必须运行npm install

希望对您有所帮助。

【讨论】:

谢谢。毕竟我最终得到了一个 linux 服务器 :)【参考方案2】:

Predrag -- 我开始在 Meteor 论坛上写下我希望这是一个相当合理的分步指南: Windows Deployment.

希望在接下来的几天里我能完成它,但这是一个开始!

同时这里是那些不需要分步指南的人的基本步骤:

在某些 Windows 机器上(如果你在 Windows 上开发,当然可以是你的开发机器)确保安装了以下内容:

    流星 VS12(VS15 可能可以工作,但我使用的是 VS12)安装了 c++ 命令行构建工具! 节点(如果你很棘手,可以是嵌入在 Meteor 中的相同节点)否则任何节点都应该工作 npm demeteorizer (npm install -g demeteorizer)

然后从您的 Meteor 项目中运行以下命令:

demeteorizer -o c:\somepath
cd c:\somepath\bundle\programs\server
npm install

这是关键部分。最后一个命令将尝试构建 Fibers .. 所以请确保 VS 命令行工具可以找到并工作。

如果上述方法有效,您就快到家了!

跑步 要运行应用程序——它与任何其他节点应用程序非常相似,除了我们需要(至少)定义两个环境变量(下面的前两个)。我通过 .bat 文件执行此操作,但任何等效项都应该能够工作。如果您想了解 ENV 变量,请在 BTW 上方捆绑目录下的 README 文件中定义它们。

set MONGO_URL=mongodb://localhost:27017/mydbname
set ROOT_URL=http://myapp.example.com:8080
set PORT=8080
set MAIL_URL=smtp://user:password@host:port
node main.js

现在上面假设了许多简单的事情,即你在本地机器上运行你的 MongoDB,没有用户安全,在默认端口。如果没有,您需要更改 MONGO_URL 部分以反映实际情况。 “mydbname”是您想要调用文档集合的任何逻辑名称。在开发模式下,这是“流星”,但在生产中不太可能有多大意义(特别是如果它针对的是真正的生产数据库!)。这也假设没有 Oplog 拖尾。

我喜欢在 .bat 文件中明确指定 PORT,这样很清楚,当然需要这样做,除非您想使用 3000(或 80 - 无论默认值是多少,我不记得了)。

如果您使用任何执行电子邮件通知等的用户包,您可能还必须设置 MAIL_URL。我把它放在上面,但它是可选的。

无论如何,这就是基础。有关更多详细信息,请阅读上面链接的指南(正在进行中)。

【讨论】:

我知道这似乎是在浪费您的时间,但是您会编辑此答案以包含论坛上帖子的内容,还是仅包含相关内容? Stack Overflow 上有一个policy,关于仅链接的答案(这符合条件) - 违反政策会使您的答案面临被删除的风险。 谢谢,我已经阅读了它,它看起来不错,我迫不及待想尝试一下。强制性的东西很清楚,我期望的一样多,除了 VS12 但这没关系。目前唯一让我担心的部分是“环境变量”以及在同一平台上部署多个 Meteor 应用程序的能力...... Predrag -- 今天/这个周末我会去那些!还有关于如何启用 Opslog Tailing(这对于生产 Meteor 非常重要)。 :) @WaiHaLee - 好的,添加了更多细节和链接的基本示例。

以上是关于在 Windows 上部署 Meteor的主要内容,如果未能解决你的问题,请参考以下文章

windows下怎么将我的项目部署上到我的本地电脑服务器上去?

怎么样在Windows Server 2008 R2上部署终端服务

windows开发的java项目如何部署到Linux上

如何在windows上安装部署设置SVN服务器

如何在windows上安装部署设置SVN服务器

在 Windows 上部署的应用程序上没有出现任何窗口