我有一個在本地機器上運行良好的NodeJs應用程序。在虛擬服務器機器上部署NodeJS的問題
現在,我想將它部署到具有給定IP和給定http地址的虛擬機上。
假設我的情況是,IP和服務器的HTTP地址分別爲134.00.00.00和http://server-virtualmachine.is.fr
我能夠通過ssh連接到該服務器併發送我的節點JS應用/無功/網絡/
服務器的主文件是app.js所以我執行該下面的命令行運行服務器。
node app.js
輸出是:
App listening on port 3030 with adress 134.00.00.00
我沒有任何錯誤。然而,在http://134.00.00.00:3030或http://server-virtualmachine.is.fr:3030直接在我的瀏覽器檢查時,接頭是不成立的,我的瀏覽器終於通過顯示此消息結束了:
134.00.00.00 took too many times to answer
如果我要去的地址,而無需編寫端口(http://134.00.00.00 ),我有以下消息:
Not Found
The requested URL/was not found on this server.
然後,爲了看到問題出在哪裏,我試着設置一個hello world示例文件。
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(3030, '134.00.00.00');
console.log('Server running at 134.00.00.00:3030');
出現同樣的問題。但是,我打開一個新的標籤,並打開一個新的SSH連接並執行以下命令行:
curl http://134.00.00.00:3030
措手不及,我有我的終端上"Hello world"
我不是真的到服務器,我嘗試自己理解,但現在我不理解這個問題以及如何解決它。
我想讓我的NodeJs應用程序在虛擬機上工作,而不是在本地機器上工作。
任何見解?
非常感謝您的幫助。
3030端口是否打開? –
它應該是因爲一箇舊的Node Js-Angular JS項目在此虛擬機上使用此端口之前工作。我如何檢查它是否開放?否則有沒有辦法查看哪個端口打開?感謝 – lilouch
您可以在防火牆設置中檢查它。或者使用'nmap'命令 –