我試圖設置一個簡單的「Hello world」node.js應用程序。如何在瀏覽器中訪問遠程node.js應用程序,而不是在本地主機
我創建了以下index.js文件:
var app = require("express")();
var http = require("http").Server(app);
app.get("/", function(req, res){
res.send("<h1>Hello worlddddd</h1>");
});
http.listen(8080, function(){
console.log("listening on *:8080");
});
當我打開本地控制檯,並執行node index.js
,我得到的消息「監聽*:8080」,符合市場預期。我將瀏覽器指向localhost:8080,並根據需要看到HTML頁面顯示「Hello worlddd」。
現在,我試圖做同樣的我的虛擬專用服務器上,這樣我就可以從不同的計算機訪問相同的應用程序,但我得到的是連接超時。我已經按照下列步驟操作:
- 通過
npm install --save [email protected]
- 我的VPS安裝的node.js
- 安裝快遞上傳我的index.js文件到我的IP 192.123.123.12服務器上的文件夾
var/www/html
(一例如,這不是我的真實IP)。 - 訪問PuTTY通過服務器,並運行
node index.js
,在那裏我得到"listening on *:8080"
,所以我知道Node.js的工作。 - 現在我將瀏覽器指向
http://192.123.123.12:8080
,經過大約20秒後,我收到瀏覽器錯誤消息:「連接超時」。 - 我試着聽端口:80代替,但我得到這個端口已被使用的錯誤。
有誰知道我做錯了嗎?我使用錯誤的端口?我是否指向錯誤的網址?我需要修改我的服務器首選項嗎? (在CentOS上運行Apache)。我只找到了幾十個教程,教你如何在本地計算機上運行node.js應用程序(將瀏覽器指向localhost:8080),但我需要它運行在遠程服務器上,以便多臺計算機可以訪問應用程序。
你需要找到特定的文檔以您的VPS運行的node.js服務器應用程序以及如何配置輸入端口,以及是否長時間運行的服務器(如的NodeJS)的支持。這不是通用說明,但可能涉及您自己的託管服務的特定配置。 – jfriend00
哦,謝謝!那麼預計不會直接開箱即用?也許我的託管服務提供商的客戶服務中心可以幫忙。 – Marquizzo
可能只是一些(默認)過濾正在阻止連接到其他預定義端口的端口。或者,如果您與其他主機共享IP,則可能會更復雜一些。 – jcaron