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年如何部署生产流星服务器?的主要内容,如果未能解决你的问题,请参考以下文章