0

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

顺便说一句:另外,在 appfog 和 nodejitsu 上部署也不起作用。

4

2 回答 2

1

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

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

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

也可以看看:

如何在meteor.com 上的Meteor 应用程序中部署节点模块?

我们如何或可以通过 npm 和 Meteor 使用节点模块?

于 2012-12-23T05:01:32.437 回答
1

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

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

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

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

可以在以下 url 中找到执行所有这些操作的完整指南:

使用 MongoDB 在 Ubuntu 12.04 上部署多个 vhost Meteor JS 应用程序

于 2013-09-12T09:06:01.330 回答