2015-12-29 162 views
2

我正在研究Node.js應用程序。節點js服務器無法在共享託管服務器上工作

主機節點JS的我的​​應用程序不能正常工作,所以我只需要創建一個小樣本演示託管在服務器節點的js,但仍然它不工作。

我分享你的,我做之前現在設置代碼的代碼和步驟。

ServerDemo.js

var http = require('http'); 
http.createServer(function (req, res) { 
res.writeHead(200, {'Content-Type': 'text/plain'}); 
res.end('Hello World\n'); 
}).listen(12043, '0.0.0.0'); 
console.log('Server running at : http://0.0.0.0:12043/'); 

然後我從膩子連接我的服務器上,然後我跑我的serverdemo.js使用下面的命令

nodejs /var/www/websites/webrtc.windinternet.nl/htdocs/webrtcapp/serverdemo.js 

它會因此下面的輸出

Server running at : http://0.0.0.0:12043/ 

然後我輸入

$ netstat -an | grep "LISTEN " 

哪那麼下面的輸出

tcp  0  0 0.0.0.0:21    0.0.0.0:*    LISTEN 
tcp  0  0 0.0.0.0:22    0.0.0.0:*    LISTEN 
tcp  0  0 127.0.0.1:25   0.0.0.0:*    LISTEN 
tcp  0  0 0.0.0.0:10050   0.0.0.0:*    LISTEN 
tcp  0  0 127.0.0.1:3306   0.0.0.0:*    LISTEN 
tcp  0  0 0.0.0.0:12043   0.0.0.0:*    LISTEN 
tcp6  0  0 :::4949     :::*     LISTEN 
tcp6  0  0 :::21     :::*     LISTEN 
tcp6  0  0 ::1:25     :::*     LISTEN 
tcp6  0  0 :::80     :::*     LISTEN 

所以端口12043監聽,但是當我跑步時$ nmap -sT localhost命令時,它僅顯示以下端口是開放的:

PORT  STATE SERVICE 
21/tcp open ftp 
22/tcp open ssh 
25/tcp open smtp 
80/tcp open http 
3306/tcp open mysql 

當我試圖訪問http://test.domain.com:12043它總是顯示The webpage is not available

如果你需要從我身邊的任何更多的描述,請添加註釋。

+0

您是否檢查是否有防火牆規則阻止端口?運行'iptables -nvL'來查看所有規則,在這種情況下'OUTPUT'和'INPUT'鏈的規則很有趣。 – cdauth

+0

此外,您可能嘗試使用telnet從您的計算機打開連接:'telnet test.domain.com 12043'。 – cdauth

+0

我會冒險猜測'nmap -sT'默認情況下不會檢查端口12043,除非您明確指示它這樣做。 – robertklep

回答

0

雖然你的主機共享服務器上的Node.js應用程式按我的問題,你必須運行按照上面的步驟,我提到,最後,你需要打開尊敬的端口服務器上運行的node.js應用。

命令:telnet -l用戶名test.domain.com 12043

此telnet命令打開尊重端口,您的應用程序工作正常。下面

0

的代碼將工作。嘗試一次...

給你的機器一個IP地址或localhost而不是0.0.0.0

var http = require('http'); 

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

console.log('Server running at : http://localhost:12043/'); 
相關問題