[英]node.js + nginx + rails Chat does work on localhost, doesn't work on Amazon EC2
[英]Node.js doesn't work on Amazon EC2 Ubuntu 14.04 server?
我最近在使用shell安装nodejs时在Amazon EC2上设置了ubuntu14.04服务器:
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服务器计算机上运行良好。 所以我想这可能是亚马逊的问题?
我看到这个线程:
无法连接到Amazon EC2上托管的Node Web服务器
并且在我的问题上也不起作用。在我允许所有端口上的所有位置的所有流量通过后,仍然遇到相同的问题。
顺便说一句,我正在使用PUTTY连接到服务器。
没错,ubuntu 14.04的nodejs版本不同,所以我从官方网站下载了.tar.gz文件,将其解压缩并运行
./configure && make && sudo make install
那对我有用...
节点!= nodejs。 尝试运行:nodejs test.js
问题是某些版本的Ubuntu(包括14.04)需要为nodejs安装其他软件包。 节点进程存在冲突,您实际上不是在运行节点,而是在运行其他一些应用程序。
要解决此问题,请使用sudo apt get install nodejs-legacy
安装nodejs以sudo apt get install nodejs-legacy
。 这样做之后,如果运行node --version
,应该会看到返回的node --version
。
尝试:
sudo node test.js
对我有用
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.