无法连接到Vagrant中的mean.io.

时间:2015-04-21 19:10:37

标签: vagrant centos7 mean.io

在设置运行CentOS7的流浪汉后,我在连接到mean.io服务器时遇到问题。我有端口转发和禁用/打开防火墙但仍无法对wget或curl -v做出响应。

以下步骤我已自动进入现在的位置:

git clone git@github.com:Scrier/Vagrant.git
cd Vagrant/mean
vagrant up

这里我通过端口转发设置获得输出:

==> default: Attempting graceful shutdown of VM...
==> default: Clearing any previously set forwarded ports...
==> default: Couldn't find Cheffile at ./Cheffile.
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 3000 => 3000 (adapter 1)
    default: 35729 => 35729 (adapter 1)
    default: 80 => 8888 (adapter 1)
    default: 22 => 2222 (adapter 1)
...

后续步骤在Vagrant中:

vagrant ssh
cd /vagrant
sudo ./install.sh
sudo npm install -g gulp
sudo npm install -g bower
sudo npm install -g mean-cli

最后3个命令有时候不会在以后的步骤中抱怨某些npm:s由root拥有。不确定是什么引发了这个。

接下来,我在/ vagrant

中创建一个测试项目
mean init test

然后我尝试以gulp(cd test&& npm install&&& gulp)或服务器(节点服务器)运行

默认应用程序启动良好并开始侦听端口3000.我可以卷曲流浪汉并在服务器应答的localhost上执行wget。

curl 'http://localhost:3000'
wget 'http://localhost:3000'

从流浪者外面做这件事给了一个锁定,我在搜索3天后现在无法在网上找到更多帮助。

curl -v 'http://localhost:3000'
wget 'http://localhost:3000'

给出这个输出:

Andreass-MBP:~ andreasjoelsson$ wget 'http://localhost:3000'
--2015-04-21 20:50:30--  http://localhost:3000/
Resolving localhost... 127.0.0.1, ::1, fe80::1
Connecting to localhost|127.0.0.1|:3000... connected.
HTTP request sent, awaiting response... ^C

Andreass-MBP:~ andreasjoelsson$ curl -v 'http://localhost:3000'
* Rebuilt URL to: http://localhost:3000/
* Hostname was NOT found in DNS cache
*   Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 3000 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.37.1
> Host: localhost:3000
> Accept: */*
>
^C

两个停止响应。

我已经阅读过关于设置ip 0.0.0.0而不是localhost来解决运行nodejs的类似问题,但我无法找到任何配置。

1 个答案:

答案 0 :(得分:1)

所以,经过很长一段时间的冲击,我在这个帖子中尝试了一个建议,让它发挥作用:Empty reply from server - can't connect to vagrant vm w/port forwarding

通过将localhost的/ etc / hosts中的127.0.0.1更改为0.0.0.0,它开始工作。似乎很奇怪我必须攻击/ etc / hosts而不是mean.io中的设置,但我得到了它的工作,所以我会悄悄地忘记它并且很高兴它的工作原理。

以下是使其正常工作的快速命令。

sed -i -E "s/127.0.0.1(.*)/0.0.0.0\1 # Replaced 127.0.0.1 to work with Vagrant external access./" /etc/hosts

可能需要以root身份运行它。