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

时间:2015-02-22 12:46:01

标签: node.js meteor npm

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 fibers@1.0.1 -g#但它失败了。
  • npm install fibers -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

但我仍然有同样的错误:无法找到模块'fiber'

问题:

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

谢谢,

2 个答案:

答案 0 :(得分:2)

我会使用Meteor Up来自动化很多东西。这是一段视频tutorial from Sacha

答案 1 :(得分:1)

  

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

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

  

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

根据你所写的内容,我发现有几件事可能会出现问题:

解开捆绑后,您需要:

$ cd bundle/programs/server && npm install

您不需要全局安装任何节点模块,以便您的应用程序正常运行。

它还建议您运行适合您的meteor版本的节点版本。查看changelog并搜索“节点”#39;。在撰写本文时,建议的版本为0.10.33

托管

如果您正在托管像DigitalOcean或EC2这样的地方,我建议您使用Meteor Up进行部署。如果您希望自己执行系统管理员任务,我建议您阅读我的相关答案herehere

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