在 Windows 上部署 Meteor

Deploy Meteor on Windows

我觉得很奇怪,没有关于如何将您自己的 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 just fine. MongoDB runs on Windows就好了,作为服务。 Meteor 在 Windows 上构建应用程序显然还不错。所以,它真的只缺少最后一步将它部署在 Windows 服务器上...

所以,任何人都知道如何在一台 Windows 服务器上部署多个 Meteor 应用程序,并且愿意编写一个 n00b-friendly对此的逐步解释?

漂亮吗?

Predrag -- 我开始写我希望在 Meteor 论坛上成为一个相当合理的循序渐进的指南: Windows Deployment.

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

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

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

    1. 流星
    2. 安装了 C++ 命令行构建工具的 VS12(VS15 可能可以工作,但我使用的是 VS12)!
    3. 节点(如果你很狡猾,可以是与 Meteor 中嵌入的节点相同的节点)否则任何节点都应该工作
    4. npm
    5. 去流星器(npm install -g demeteorizer)
  • 然后从您的 Meteor 项目 运行 以下内容:

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

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

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

运行 对于 运行 应用程序——它与任何其他节点应用程序非常相似,除了我们需要定义(至少)两个环境变量(下面的前两个)。我通过 .bat 文件执行此操作,但任何等效文件都应该能够工作。如果您想阅读 ENV 变量,请在上面 bundle 目录下的 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

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

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

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

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

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

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

希望对您有所帮助。