【问题标题】:Node.js doesn't work on Amazon EC2 Ubuntu 14.04 server?Node.js 不能在 Amazon EC2 Ubuntu 14.04 服务器上运行?
【发布时间】:2014-10-16 05:01:31
【问题描述】:

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

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

它说 nodejs 已经是最新版本。 为了检查 Node 安装是否成功,我把它写在一个 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

然后它对我有用....

【问题讨论】:

  • 现在似乎是 require("util") stackoverflow.com/questions/5227701/…
  • 为什么不检查当前安装的版本? node --version。发布该值也可能有助于解释为什么您的 test.js 没有输出。
  • 我尝试 node --version 但在 shell 中没有输出,这不是问题,因为当我再次尝试 sudo apt-get 时。它告诉我 nodejs 已经安装。

标签: node.js amazon-ec2


【解决方案1】:

节点!= nodejs。尝试运行: nodejs test.js

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      试试:

      sudo node test.js

      它对我有用

      【讨论】:

        猜你喜欢
        • 2017-09-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-31
        • 2020-07-12
        • 2012-12-05
        • 1970-01-01
        相关资源
        最近更新 更多