部署我的MeteorJS应用程序失败

时间:2012-12-21 18:51:57

标签: meteor

我实现了一个小型meteorjs演示应用程序。应用程序在陨石,libxmljs和imagemagick的帮助下将svgs转换为二进制图像(包括调整大小)。不幸的是,我无法将其部署在流星自己的基础架构上(mrt deploy)。而真正糟糕的是:我找不到一些日志。我不知道发生了什么。我很确定这是我的依赖项。来源托管here。问题很可能出在server / server.js的开头。我想我导入依赖项的方式对meteorjs不起作用。如果是,我该如何解决?如果没有,有人会看到这个问题吗?

BTW:此外,在appfog和nodejitsu上部署无效。

2 个答案:

答案 0 :(得分:1)

获取当前位于node_modules中的所有node.js源,并将它们复制到项目的/ public目录中。

部署时,Meteor将获取本地软件包,但不会获取节点模块。在meteor.com上获取节点模块的唯一方法是将它们放在项目中的可访问目录中。 / public是一个不错的选择,因为只有当客户端请求时才会将该目录中的文件发送到客户端,而除了那些/服务器之外的所有其他文件都将被发送到客户端。

然后你必须适当地更新你的require()语句。

另见:

How can I deploy node modules in a Meteor app on meteor.com?

How do we or can we use node modules via npm with Meteor?

答案 1 :(得分:1)

您没有说明您正在运行的操作系统。我假设最基本的是Ubuntu 12.04服务器。您必须在其上安装MongoDB,并在Node.js上安装所有依赖项。为MongoDB创建管理员用户并将用户添加到数据库。

您可以使用名为Demeteorize的工具打包Meteor app。 Demeteorize更好,因为它允许将应用程序从一个平台部署到另一个平台并修复发生的问题。因此,如果您使用Mac进行开发并希望部署到Ubuntu,则不会因为单独的环境而遇到问题。

进入服务器后,您可以使用Node启动demeteorized应用程序,并在localhost上运行端口设置。

现在您可以使用Apache代理指定的端口并将其映射到域名。这允许您在不同的端口上运行多个Meteor应用程序,并仍然为其分配域名。

可以在以下网址找到完成所有这些操作的完整指南:

Deploying multiple vhost Meteor JS apps on Ubuntu 12.04 with MongoDB