我在aws上運行apache和ubuntu服務器。爲什麼在向文件添加主機名時node.js文件停止工作?
下面的文件都會運行,但是當我訪問服務器時,只有最上層的文件返回Helloworld。這是爲什麼?
var http = require('http');
var port = 3000;
var server = http.createServer(function(req, res) {
console.log(req.headers);
res.writeHead(200, { 'Content-Type': 'text/html' });
res.end('<h1>Hello World</h1>');
});
server.listen(port);
底部文件運行但沒有打到服務器時出現錯誤。我嘗試使用服務器的IP替換主機名,我也嘗試使主機名127.0.0.1不起作用。我得到的錯誤是
"This site can't be reached, <ip> refused to connect, ERR_CONNECTION_REFUSED"
是服務器的IP地址。
var http = require('http');
var hostname = 'localhost';
var port = 3000;
var server = http.createServer(function(req, res) {
console.log(req.headers);
res.writeHead(200, { 'Content-Type': 'text/html' });
res.end('<h1>Hello World</h1>');
});
server.listen(port, hostname);
乾杯
你想通過包含'hostname'參數來解決什麼問題?您可以將其保留,然後服務器將響應在指定端口上對此服務器的任何傳入請求。很明顯,如果你使用'localhost'或'127.0.0.1',那麼只有來自同一個盒子的連接纔可能匹配。 – jfriend00
我通過刪除主機名得到它的工作,謝謝。我之所以這麼做,是因爲我在網上學習一個教程,這個人正在從他的本地機器上工作。最初我離開了主機名,但我遇到了錯誤,所以我試圖添加/刪除它。我想我在刪除它的時候犯了錯誤,因爲它仍然不想工作。我添加它的原因是因爲我在stackoverflow的其他地方讀過,我應該添加它。我顯然被誤解了。感謝您的評論,這是一個很大的幫助隊友。 –