Ubuntu

亞馬遜 EC2 上的 node.js hello world 伺服器

  • February 26, 2014

作為部署Ghost 部落格平台的負責人,我正在檢查 node.js 是否可以使用 Ubuntu 13.04 部署在我的 Amazon EC2 實例上

Ghost Github 頁面甚至提供了有關如何部署到 EC2的分步說明,並且驗證node是一個重要步驟。

我將節點伺服器放入/var/www/index.js並執行node index.js,因此它應該在埠 8080 上偵聽

require("http").createServer(function(request, response){
 response.writeHeader(200, {"Content-Type": "text/plain"});
 response.write("Hello World!");
 response.end();
}).listen(8080);

我無法使用 Chrome連接到: http ://ec2-xx-xx-xx-xx.compute-1.amazonaws.com/

此時我回溯並輸入以下入站 TCP 規則:

22 (SSH)    0.0.0.0/0   Delete
80 (HTTP)   0.0.0.0/0   Delete
443 (HTTPS) 0.0.0.0/0   Delete
8080 (HTTP*)0.0.0.0/0   Delete

好消息雖然curl 127.0.0.1給出:

<html>
<head><title>502 Bad Gateway</title></head>
<body bgcolor="white">
<center><h1>502 Bad Gateway</h1></center>
<hr><center>nginx/1.4.5</center>
</body>
</html>

curl 127.0.0.1:8080Hello World!.

為什麼我無法從家用電腦連接到節點?

我更改了defaultEC2 安全組的規則,我天真地認為它適用於我的所有實例。

我的實例實際上是launch-wizard-3安全組的成員。一旦我在那裡更改了權限,node.js 就可以完美執行。

您需要在地址中提供埠嗎?

http://ec2-xx-xx-xx-xx.compute-1.amazonaws.com:8080

引用自:https://serverfault.com/questions/578567