我已经设置了一个Vagrant框,其中包含Ubuntu 14.04,node.js,npm,mongodb,forever,deployd和express。我将主机端口8080转发到来宾端口80,并在客户机上有一个节点服务器在端口80上进行侦听。
当我在浏览器中访问http://localhost:8080
时,我希望看到我的节点服务器(" Hello World")的输出,但我得不到浏览器的响应。
在来宾机内部,当我尝试卷曲时,我得到curl: (7) Failed to connect to localhost port 80: Connection refused
。
在主机上,当我尝试卷曲时,我得到curl: (52) Empty reply from server
。
我已尝试通过使用sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
修改iptables来允许所有传入的网络流量,并保存了这些设置并使用vagrant reload
重新启动了计算机。这没有解决问题。
我的Vagrantfile看起来像这样:
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.provision :shell, :path => "bootstrap.sh"
config.vm.network "forwarded_port", guest: 80, host: 8080
end
我的配置脚本如下所示:
#!/usr/bin/env bash
apt-get update
apt-get upgrade
apt-get install -y python-software-properties python g++ make
add-apt-repository ppa:chris-lea/node.js
apt-get update
apt-get install -y nodejs
export NODE_PATH=$NODE_PATH:/usr/lib/node_modules/
apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
apt-get update
apt-get install -y mongodb-10gen
npm install forever -g
npm install deployd -g
npm install express -g
mkdir /data
mkdir /data/db
rm -rf /var/www
ln -fs /vagrant /var/www
我正在运行forever start server.js
以启动此示例节点服务器:
var http = require("http");
http.createServer(function(request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
}).listen(80);
我在这里缺少什么?提前谢谢......
答案 0 :(得分:1)
检查您的主机是否正在侦听端口8080:
$netstat -ntlp | grep 8080