坚持开始流星

时间:2015-05-12 16:08:38

标签: mongodb meteor digital-ocean

这真让我很沮丧。我安装了ubuntu 14.04(64)的DO VPS。

我安装了VestaCP作为控制面板,并托管了一些基于PHP的个人项目。

我也安装了meteor但从未使用过,现在我正在尝试创建一个项目并运行它('meteor create rt'然后'cd rt'然后'meteor')

它给出以下错误: [[[[[home / admin / code / rt]]]]]

=>开始代理。
意外的mongo退出代码1.重新启动。
意外的mongo退出代码1.重新启动。
意外的mongo退出代码1.重新启动。
无法启动Mongo服务器 根@ RD:/家庭/管理/代码/ RT#

有人可以帮忙吗?如果需要,请告诉我更多信息。

****编辑****

我创建了一个新的DigitalOcean服务器,它给出了同样的错误。数字海洋的一些问题?数字海洋的文件系统?我很迷惑。我正在尝试不同的Linux和相同的结果。所有都是新的Linux安装。

6 个答案:

答案 0 :(得分:3)

我终于得到了解决方案。将它发布给其他人。

这是一个问题,因为mongodb在启动时没有设置的环境变量 设置变量LC_ALLLANG,它可以正常工作(大多设置为LC_ALL

首先,输入locale命令并查看输出,你会看到它会说明没有设置LC_ALL。

现在,在/etc/environment中添加这两行,它就可以了。

LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8

此解决方案适用于Ubuntu 12.04 +

其他变体可能需要类似的工作。

答案 1 :(得分:1)

据我所知,意外的mongo退出代码1仍然是一个未被捕获的异常。

您可以尝试更新您的c / c ++编译器uptodate。看看here。 它说:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.6
sudo apt-get install g++-4.6

一切顺利!

答案 2 :(得分:1)

所以我们已经将问题缩小到你的盒子上的流星mongo安装(尽管我认为我们一直很确定这一点)。让我们尝试调试一下。我过去这样做的方法是尝试用流星提供的mongod打开流星的mongo。您将在不运行流星服务器的情况下执行这些过程。这应该会给你一个警告,导致Mongo退出。首先你需要找到这个。在我在Mint上安装的实例(应该类似于Ubuntu)中,它位于:

~/.meteor/packages/meteor-tool/.1.1.3.4sddkj++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/mongodb/bin/mongod

您可以在Ubuntu框中查看该位置,也可以运行以下内容来获取该位置:

find ~/.meteor/ -name mongod

找到位置后,转到您尝试运行的meteor项目的目录,在该目录中,您应找到以下位置:

<your meteor project>/.meteor/local

cd进入该目录并运行以下命令:

~/.meteor/packages/meteor-tool/.1.1.3.4sddkj++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/mongodb/bin/mongod --dbpath ./

从那里你可以分析输出(或更新问题,以便我们可以看到输出),这应该显示你在启动时收到的mongo错误,并允许你修复它。

答案 3 :(得分:1)

我尝试启动流星应用程序时遇到了同样的问题,并且mongodb服务器正在以一种意想不到的方式终止。一般来说,你提到的某些经销商的虚拟linux服务器没有交换分区(检查 / etc / fstab 文件),所以如果你没有足够的内存来分配MongoDB服务器,然后meteor app无法启动。您可以创建swap partition或安装swapspace

sudo apt-get install swapspace

之后我就能启动流星应用程序......请耐心等待,因为交换内存不如RAM快。

答案 4 :(得分:0)

由于某些“智能”StackExchange政策,我无法对工作解决方案进行投票或评论......)

CentOS 7 x64 vmlinuz-3.10.0-123.8.1.el7.x86_64上的数字海洋上的引用答案也适用

  

首先,键入locale命令并查看输出,您将看到它将说明未设置LC_ALL的内容。

     

现在,在 / etc / environment 中添加这两行,它就可以了。

我更改了区域设置以符合我的需要。

答案 5 :(得分:0)

使用以下bash命令在我的Debian 8上修复,(如果需要,使用sudo)

localedef -i en_US -f UTF-8 en_US.UTF-8