簡體   English   中英

在Web服務器上運行node.js?

[英]Run node.js on a web server?

我正在嘗試在加載網頁時運行nodejs應用程序,但是它不起作用。 我嘗試使用express在節點內創建服務器,但是每當嘗試加載網頁時,都會出現錯誤:ERR_CONNECTION_TIMED_OUT。

這是我用來連接服務器的代碼:

var app = require('express')();

app.get('/test', function (req, res) {
    console.log('web page opened');
});

app.listen(3000, function () {
console.log('Listening on port 3000');
});

在控制台中,我看到“正在偵聽端口3000”,但無法連接到網站( http://45.55.71.134:3000/test )。

有人知道對此有任何解決方案嗎? 謝謝。

get語句表明您正在端口3000偵聽“ / test”,但您使用的url為“ / some”。 嘗試更改為“ /測試”?

  1. 您正在監聽url /test ,但正在請求/some 改變它。
  2. 如果您在本地運行服務器,請首先嘗試使用localhost:3000連接。 如果成功,則說明您的路由器或防火牆設置存在問題,您可能需要打開該端口。

您的連接正在超時,因為您沒有關閉請求。 瀏覽器仍在等待從服務器接收一些數據,但是您只有console.log("web page opened") ,它位於服務器上而不是瀏覽器上。 在等待服務器響應后,瀏覽器放棄了,這就是為什么您會收到該錯誤的原因。

//Do this
app.get('/test', function (req, res) {
    //instead of this
    console.log('web page opened'); //This doesn't do anything.
    //Try this instead
    res.send("web page opened"); 
});

您需要始終關閉請求。 您也可以像這樣調用next()函數來強制關閉-

 app.get('/test', function (req, res, next) {
     console.log("web somehting");
     next();
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM