2015年如何部署生产流星服务器?

Posted

技术标签:

【中文标题】2015年如何部署生产流星服务器?【英文标题】:How to deploy a production meteor server in 2015? 【发布时间】:2015-04-23 20:12:48 【问题描述】:

Meteor 已更改,并且在 docs.meteor.com 中缺少生产部署。

我有一个在开发模式下运行良好的流星应用程序。所以我将它与新命令捆绑在一起,因为 bundle 已被弃用:

meteor build ./build/ --architecture os.linux.x86_64

在生产服务器上,我安装了最新版本的nodejs(目前是0.12),复制并解压构建。 Mongo DB 在另一台服务器上,所以我只是重新定义了 PORT、ROOT_URL、MONGO_OPLOG_URL 和 MONGO_URL 环境变量。

但很快就会出现经常出现的光纤丢失错误:

module.js:338
    throw err;
          ^
Error: Cannot find module 'fibers'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:278:25)
    ...........

所以,这是我尝试过的:

npm install fiber@1.0.1 -g # 但它失败了。 npm install fiber -g 成功安装1.0.5版

情况如下:

root@server:~# npm version
 npm: '2.5.1',
  http_parser: '2.3',
  modules: '14',
  node: '0.12.0',
  openssl: '1.0.1l',
  uv: '1.0.2',
  v8: '3.28.73',
  zlib: '1.2.8' 
root@server:~# npm ls -g | grep fibers
├── fibers@1.0.5
root@server:/opt/meteor/authmonitor-src# meteor list-platforms
browser                                       
server

但我还是一样:错误:找不到模块“纤维”

问题:

是否有关于如何在本地生产服务器上部署流星应用程序的最新手册? 为什么/如何安装光纤模块,以及哪个版本? export NODE_PATH=/usr/local/lib/node_modules/ 部分有帮助,但是在使用 npm install xxx -g 安装下划线和 semver 等所需模块后,它以另一个光纤错误结束:“错误:模块没有自行注册。” 你会推荐什么?

谢谢,

【问题讨论】:

【参考方案1】:

我会使用 Meteor Up 来自动化很多事情。这是一个视频tutorial from Sacha

【讨论】:

【参考方案2】:

是否有关于如何在本地生产服务器上部署流星应用程序的最新手册?

没有,没有官方文档。社区正在等待 MDG 发布银河系,这将是流星的付费托管服务。

为什么/如何安装光纤模块,以及哪个版本?

根据您写的内容,我认为有几件事可能是问题:

解压包后,您需要:

$ cd bundle/programs/server && npm install

您无需全局安装任何节点模块即可让您的应用正常运行。

还建议您运行适合您的流星版本的节点版本。查看changelog 并搜索“节点”。在撰写本文时,推荐的版本是0.10.33

托管

如果您在 DigitalOcean 或 EC2 等相当简单的地方托管,我建议您使用 Meteor Up 进行部署。如果您更喜欢自己执行系统管理员任务,我建议您阅读我的相关答案here 和here。

另一个受欢迎的托管选择是modulus,因为它提供更全面的服务。你可以阅读一些教程here和here。

【讨论】:

刚刚尝试了 v0.12.x 并失败了.. iojs 对光纤失败。更改为 v0.10.36(如建议的 ..see history.md at github。)工作正常。想知道为什么依赖没有升级到最新?许多其他类似的程序可能需要升级节点。 实际上有一些官方文档。请参阅docs.meteor.com/#/full/meteorbuild 和meteor help build

以上是关于2015年如何部署生产流星服务器?的主要内容,如果未能解决你的问题,请参考以下文章

将流星部署到官方流星服务器光纤

流星 EPIPE 错误中的 html-pdf

在我自己的服务器上部署流星

最佳流星主持人和详细信息

如何在不同的机器上连接流星和 mongoDB

如何使用卡在加载屏幕上的铁路由器调试流星/科尔多瓦应用程序?