2016-10-24 102 views
0

我正在使用vagrant在virtualbox上創建一臺計算機。該機器只有全新安裝的Ubuntu(更新)和節點。無法連接到Ubuntu上的nodejs xenial

節點server.js工程查找與我的系統中的安裝。可以在Chrome上看到「Hello world」。 但是當我ssh進入我的機器並在服務器上使用節點server.js時,我在chrome上獲得了ERR_CONNECTION_RESET。

這裏是我的代碼

Vagrantfile:

Vagrant.require_version ">= 1.8.6" 

    Vagrant.configure("2") do |config| 
     config.vm.box = "ubuntu/xenial64" 

     config.vm.network "forwarded_port", guest: 3000, host: 3000 
     config.vm.synced_folder ".", "/var/www/", :mount_options => ["dmode=777", "fmode=666"] 

     config.vm.provider "virtualbox" do |virtualbox| 
     virtualbox.name = "vagrant" 
     virtualbox.memory = 512 
     virtualbox.cpus = 1 
     virtualbox.gui = false 
     end 
    end 

server.js

const http = require('http'); 

const hostname = '127.0.0.1'; 
const port = 3000; 

const server = http.createServer((req, res) => { 
    res.statusCode = 200; 
    res.setHeader('Content-Type', 'text/plain'); 
    res.end('Hello World\n'); 
}); 

server.listen(port, hostname,() => { 
    console.log(`Server running at http://${hostname}:${port}/`); 
}); 

軟件版本:

  • 窗口10家
  • 流浪1.8.6
  • 的virtualbox 5.1.8
  • ubuntu的xenial 64
  • 節點v6.9.1

回答

1

當內部流浪運行時,地址127.0.0.1不一定映射到 'localhost' 的。拆下主機名和你應該罰款:

server.listen(port,() => { 
    console.log(`Server listening ${port}/`); 
}); 

省略the hostname defaults to 0.0.0.0

+0

是的! Works找到http://127.0.0.1:3000/。謝謝 – Ruben