Node.js无法在Amazon EC2 Ubuntu 14.04服务器上运行?

时间:2014-10-16 05:01:32

标签: node.js amazon-ec2

我最近在Amazon EC2上设置了一个ubuntu14.04服务器, 当我使用shell安装nodejs时:

curl -sL https://deb.nodesource.com/setup | sudo bash -
sudo apt-get install -y nodejs

它说nodejs已经是最新版本了。 为了检查成功的节点安装,我将其写入test.js文件

var sys = require("sys");  
sys.puts("Hello World");

当我尝试

node test.js

我在shell.strange中没有任何东西.someohelp?

我按照官方演示

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/');

将其保存为server.js尝试使用节点server.js运行它...

但它在我的本地ubuntu服务器机器上运行良好。所以我猜它可能是亚马逊的问题?

我看到了这个帖子:

Can't connect to Node web-server hosted on Amazon EC2

它也不能解决我的问题。在我允许所有端口上的所有流量后,仍然会遇到同样的问题。

顺便说一句,我使用PUTTY连接服务器。

ubuntu 14.04有一个不同版本的nodejs是对的。所以我从官方网站下载.tar.gz文件解包,然后运行

./configure && make && sudo make install

然后它对我有用....

3 个答案:

答案 0 :(得分:1)

node!= nodejs。试试跑步:     nodejs test.js

答案 1 :(得分:0)

问题是某些版本的Ubuntu(包括14.04)需要为nodejs安装不同的软件包。与节点进程存在冲突,您实际上并未运行节点,而是运行其他应用程序。

使用sudo apt get install nodejs-legacy解决问题安装nodejs。执行此操作后,如果您运行node --version,则应该会看到返回的版本。

答案 2 :(得分:-1)

尝试:

sudo node test.js

它对我有用