卡在启动流星
Stuck in starting meteor
这真让我沮丧。我有一个 DO VPS 安装了 ubuntu 14.04 (64)。
我在上面安装了 VestaCP 作为控制面板,并托管了一些基于 PHP 的个人项目。
我也在上面安装了 meteor 但从未使用过,现在当我尝试创建一个项目时 运行 它('meteor create rt' 然后 'cd rt' 然后 'meteor')
出现以下错误:
[[[[[ /home/admin/code/rt ]]]]]
=> 启动代理。
意外 mongo 退出代码 1。正在重新启动。
意外 mongo 退出代码 1。正在重新启动。
意外 mongo 退出代码 1。正在重新启动。
无法启动 Mongo 服务器。
root@RD:/home/admin/code/rt#
有人可以帮忙吗?如果需要,请向我询问更多信息。
**** 编辑 ****
我创建了一个新的 DigitalOcean 服务器,但它给出了同样的错误。 Digital Ocean 有问题吗?数字海洋的文件系统?我很迷惑。我正在尝试不同口味的 Linux 和相同的结果。所有都是全新 linux 安装。
出乎意料 mongo 退出代码 1 在我看来仍然是一个未捕获的异常。
您可以尝试更新您的 c/c++ 编译器。看看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
祝一切顺利!
因此我们已将问题缩小到 meteor 在您的盒子上的 mongo 安装(尽管我认为我们一直很确定这一点)。让我们尝试调试一下。我过去这样做的方法是尝试用 meteor 提供的 mongod 打开 meteor 的 mongo。您将在没有 运行 连接 meteor 服务器的情况下执行这些过程。这应该会给您导致 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
找到位置后,转到您尝试访问的流星项目的目录 运行,在那个目录中您应该找到这个位置:
<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 错误并允许您修复它。
我在尝试启动 meteor 应用程序时遇到了同样的问题,确切地说 mongodb 服务器正在以一种意外的方式终止。一般来说,像你提到的那些经销商的虚拟 linux 服务器没有 swap 分区(检查 /etc/fstab 文件)所以如果你没有足够的内存来分配 MongoDB 服务器然后流星应用程序无法启动。您可以创建 swap partition or instal swapspace
sudo apt-get install swapspace
之后我就可以启动 meteor 应用程序了...请耐心等待,因为交换内存不如 RAM 快。
我终于找到了解决办法。在这里张贴给其他人。
这是问题,因为 mongodb 在启动时寻找的一些环境变量没有设置
设置变量 LC_ALL
和 LANG
并且它工作正常(主要设置 LC_ALL
就可以)
首先,输入 locale
命令并查看输出,您会看到它会说 LC_ALL 未设置。
现在,在 /etc/environment
中添加这两行,它起作用了。
LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8
此解决方案适用于 Ubuntu 12.04 +
其他变体可能需要类似的工作。
由于某些“智能”StackExchange 政策,我无法对工作解决方案进行投票或评论...)
引用的答案也适用于 CentOS 7 x64 vmlinuz-3.10.0-123.8.1.el7 上的 Digital Ocean。x86_64
first, type locale command and see the output, you will see that it will say something about LC_ALL not set.
Now, add these two lines in /etc/environment and it worked.
我更改了区域设置以满足我的需要。
使用以下 bash 命令修复了我的 Debian 8,(如果需要使用 sudo)
localedef -i en_US -f UTF-8 en_US.UTF-8
这真让我沮丧。我有一个 DO VPS 安装了 ubuntu 14.04 (64)。
我在上面安装了 VestaCP 作为控制面板,并托管了一些基于 PHP 的个人项目。
我也在上面安装了 meteor 但从未使用过,现在当我尝试创建一个项目时 运行 它('meteor create rt' 然后 'cd rt' 然后 'meteor')
出现以下错误: [[[[[ /home/admin/code/rt ]]]]]
=> 启动代理。
意外 mongo 退出代码 1。正在重新启动。
意外 mongo 退出代码 1。正在重新启动。
意外 mongo 退出代码 1。正在重新启动。
无法启动 Mongo 服务器。
root@RD:/home/admin/code/rt#
有人可以帮忙吗?如果需要,请向我询问更多信息。
**** 编辑 ****
我创建了一个新的 DigitalOcean 服务器,但它给出了同样的错误。 Digital Ocean 有问题吗?数字海洋的文件系统?我很迷惑。我正在尝试不同口味的 Linux 和相同的结果。所有都是全新 linux 安装。
出乎意料 mongo 退出代码 1 在我看来仍然是一个未捕获的异常。
您可以尝试更新您的 c/c++ 编译器。看看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
祝一切顺利!
因此我们已将问题缩小到 meteor 在您的盒子上的 mongo 安装(尽管我认为我们一直很确定这一点)。让我们尝试调试一下。我过去这样做的方法是尝试用 meteor 提供的 mongod 打开 meteor 的 mongo。您将在没有 运行 连接 meteor 服务器的情况下执行这些过程。这应该会给您导致 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
找到位置后,转到您尝试访问的流星项目的目录 运行,在那个目录中您应该找到这个位置:
<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 错误并允许您修复它。
我在尝试启动 meteor 应用程序时遇到了同样的问题,确切地说 mongodb 服务器正在以一种意外的方式终止。一般来说,像你提到的那些经销商的虚拟 linux 服务器没有 swap 分区(检查 /etc/fstab 文件)所以如果你没有足够的内存来分配 MongoDB 服务器然后流星应用程序无法启动。您可以创建 swap partition or instal swapspace
sudo apt-get install swapspace
之后我就可以启动 meteor 应用程序了...请耐心等待,因为交换内存不如 RAM 快。
我终于找到了解决办法。在这里张贴给其他人。
这是问题,因为 mongodb 在启动时寻找的一些环境变量没有设置
设置变量 LC_ALL
和 LANG
并且它工作正常(主要设置 LC_ALL
就可以)
首先,输入 locale
命令并查看输出,您会看到它会说 LC_ALL 未设置。
现在,在 /etc/environment
中添加这两行,它起作用了。
LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8
此解决方案适用于 Ubuntu 12.04 +
其他变体可能需要类似的工作。
由于某些“智能”StackExchange 政策,我无法对工作解决方案进行投票或评论...)
引用的答案也适用于 CentOS 7 x64 vmlinuz-3.10.0-123.8.1.el7 上的 Digital Ocean。x86_64
first, type locale command and see the output, you will see that it will say something about LC_ALL not set.
Now, add these two lines in /etc/environment and it worked.
我更改了区域设置以满足我的需要。
使用以下 bash 命令修复了我的 Debian 8,(如果需要使用 sudo)
localedef -i en_US -f UTF-8 en_US.UTF-8