在 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 上开发,当然可以是您的开发机器)确保安装了以下内容:
- 流星
- 安装了 C++ 命令行构建工具的 VS12(VS15 可能可以工作,但我使用的是 VS12)!
- 节点(如果你很狡猾,可以是与 Meteor 中嵌入的节点相同的节点)否则任何节点都应该工作
- npm
- 去流星器(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
希望对您有所帮助。
我觉得很奇怪,没有关于如何将您自己的 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 上开发,当然可以是您的开发机器)确保安装了以下内容:
- 流星
- 安装了 C++ 命令行构建工具的 VS12(VS15 可能可以工作,但我使用的是 VS12)!
- 节点(如果你很狡猾,可以是与 Meteor 中嵌入的节点相同的节点)否则任何节点都应该工作
- npm
- 去流星器(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 环境变量在此应用程序中是可选的。 在执行
- 必须 运行
npm install
meteor build
之前 希望对您有所帮助。