簡體   English   中英

Node.JS-頁面持續運行

[英]Node.JS - Page keeps on running

所以我從節點的站點下載Windows二進制文件,然后將其安裝在安裝良好的Windows 7計算機上:

node --version

它正確顯示其版本: v0.6.7

這是你好世界程序:

// app.js
var http = require('http');

http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(8000, "127.0.0.1");

console.log('Server running at http://127.0.0.1:8000/');

當我這樣做時:

node app.js

我得到的答復很好:

Server running at http://127.0.0.1:8000/

但是,當我瀏覽URL http://127.0.0.1:8000 ,頁面繼續運行 (在狀態欄上顯示waiting for 127.0.0.1... )。

有人可以幫助我如何使其輸出Hello World嗎?

這是我用curl獲得的:

$ curl -vv localhost:8000

* About to connect() to localhost port 8000 (#0)
*   Trying ::1... Connection refused
*   Trying 127.0.0.1... connected
* Connected to localhost (127.0.0.1) port 8000 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.21.4 (universal-apple-darwin11.0) libcurl/7.21.4 OpenSSL/0.9.8r zlib/1.2.5
> Host: localhost:8000
> Accept: */*
> 
< HTTP/1.1 200 OK
< Content-Type: text/plain
< Connection: keep-alive
< Transfer-Encoding: chunked
< 
Hello World
* Connection #0 to host localhost left intact
* Closing connection #0

沒有錯。 嘗試將節點更新到最新的穩定版本(但我看不出它如何提供幫助),並確保除節點之外的任何進程都擁有tcp端口8000。

在我看來,這是兩件事之一:

  1. 節點未收到請求
  2. 節點未響應請求

要測試其中之一,請更改代碼:

// app.js
var http = require('http');

http.createServer(function (req, res) {
  console.log('got a request');
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(8000, "127.0.0.1");

console.log('Server running at http://127.0.0.1:8000/');

再試一次。 如果節點未收到請求,請嘗試將端口更改為80而不是8000,這是一個有趣的情況,兩周前,firefox阻止了非常規端口。

讓我知道你怎樣去

您是否檢查了防病毒或Windows防火牆?

無論您使用哪種方式,您都可能想要創建一個臨時異常或將其禁用一會兒,以確保不會出現任何異常。

嘗試將您的監聽地址更改為0.0.0.0。 也許您在綁定到該特定環回時遇到問題。

暫無
暫無

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

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