2014-02-14 73 views
4

我正在嘗試在亞馬遜微型實例上運行nodejs服務器過去的3-4天,但沒有成功。無法獲取nodejs在亞馬遜ec2實例上工作

我跟着這麼多的教程,我不能讓服務器工作(所以當它在瀏覽器中訪問或curl在PowerShell中,看到簡單的Hello世界)。

下面是最近3個教程我已經試過:

http://iconof.com/blog/how-to-install-setup-node-js-on-amazon-aws-ec2-complete-guide/ http://techprd.com/setup-node-js-web-server-on-amazon-ec2/ http://devblog.daniel.gs/2014/01/deploying-node-apps-on-aws-ec2-with.html

我試過的Ubuntu/Linux的亞馬遜。

我也跟着http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-LAMP.html只是爲了看看一般過程是如何工作的,它工作正常。

我得到了我做這樣的事情:sudo node filename.js 和服務器運行。

但是,當我嘗試訪問或捲曲它。它不起作用。當我平了它它很好。

在亞馬遜我設置的安全組,基本上允許像這樣的一切:

enter image description here

在linux

其自我我也跟着:https://help.ubuntu.com/community/IptablesHowTo?action=show&redirect=Iptables打開我試圖傾聽並沒有什麼端口。

當我鍵入

sudo service iptables status我得到:

1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpts:1337:1347

2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpts:1338:1348

3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:10000

記住我不是一個服務器精明的傢伙。

任何幫助將不勝感激。

UPDATE:要開始我的節點服務器,我使用nodejs.org發現的基本代碼:

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

這正是我的文件看怎麼樣

+0

你是什麼意思,在亞馬遜我設置安全基本上允許一切'?應用於該實例的安全組的設置是什麼? – hanleyhansen

+0

後更新與我的安全組看起來像 –

+0

服務運行時,您可以從該機器捲曲本地主機嗎?如果否,那麼該服務不起作用。如果是,那麼該港口可能不是其中的一個。 – sallie

回答

3

您沒有提供足夠的信息,但我會嘗試概述一般的故障排除技巧。

  • 您的節點程序是否正在運行並提供服務請求?獲取Ec2框並執行curl -v localhost:8000(或任何您的節點端口)。它應該吐出您的應用程序。如果沒有,你的node.js設置不正確。

  • 你的nginx運行嗎?打開包裝並輸入curl -v localhost。這將看起來在你的端口80.如果它沒有代理到你的應用程序,它可能是一個nginx配置問題。

  • 你能通過IP地址到達盒子嗎?從您的臺式機/筆記本電腦,請執行curl -v x.x.x.x其中x.x.x.x是您的EC2公共IP地址。如果掛起,則存在防火牆問題。

  • 你能通過你的DNS到達盒子嗎? (假設你試圖讓foo.com指向它)嘗試curl -v http://foo.com/。如果這不起作用,您的DNS可能不正確。

然而,當我試圖訪問或捲曲它。它不起作用。

請更具體一些。

+0

會按照您詢問的順序回答您的問題:1. curl -v localhost:8000 spits hello world。 2.沒有設置nginx它有一個問題,但不知道它如何與我正在嘗試做什麼相關。 3.我嘗試公共IP和公共DNS與端口號,並沒有做任何事情 –

+0

通過訪問我的意思是在瀏覽器中使用公共IP或公共DNS與端口號,當我嘗試從我的PC與PowerShell捲曲我getcurl -v localhost –