【发布时间】:2019-04-09 01:29:41
【问题描述】:
请原谅我在这里犯错。我在 Ubuntu 14.04 上通过 AngularJS 和 NodeJS 建立了一个简单的网站应用程序。启动我的服务器后,IP地址没有加载并抛出连接失败错误。
我已经能够成功连接到 AWS 上的 Ubuntu 服务器
成功安装npm,node,拉取git repo
尝试通过在 API 文件夹中输入“sudo nodejs server.js”来启动服务器
服务器启动,但 IP 地址未加载项目.. 控制台中没有错误..
这些是我登录 SSH 服务器后在终端中从头到尾的步骤:
ubuntu@ip-172-31-25-241:~$ sudo mkdir src
ubuntu@ip-172-31-25-241:~$ cd src
ubuntu@ip-172-31-25-241:~/src$ sudo git init (after installing git)
ubuntu@ip-172-31-25-241:~/src$ sudo git pull origin master (pulled repo)
ubuntu@ip-172-31-25-241:~/src$ sudo apt-get install npm
ubuntu@ip-172-31-25-241:~/src$ sudo apt-get install nodejs
ubuntu@ip-172-31-25-241:~/src$ cd API
ubuntu@ip-172-31-25-241:~/src/API$ ls
server.js
ubuntu@ip-172-31-25-241:~/src/API$ sudo nodejs server.js
Server Started on http://localhost:8080
Press CTRL + C to stop server
这是@JoKeRxbLaCk 请求的 server.js 文件中的代码:
// initialize Express
var express = require('express');
// run Express
var app = express();
app.use(express.static(__dirname + './../APP'));
app.get('/', function(req, res) {
res.send('Express is running!');
});
app.listen(80, function() {
console.log('Server Started on http://localhost:8080');
console.log('Press CTRL + C to stop server');
});
当我尝试命令“nodejs server.js”而不是“sudo nodejs server.js”时,我得到了这个错误:
ubuntu@ip-172-31-25-241:~/src/API$ nodejs server.js
events.js:72
throw er; // Unhandled 'error' event
^
Error: listen EACCES
at errnoException (net.js:901:11)
at Server._listen2 (net.js:1020:19)
at listen (net.js:1061:10)
at Server.listen (net.js:1135:5)
at EventEmitter.listen (/home/ubuntu/src/node_modules/express/lib/application.js:617:24)
at Object.<anonymous> (/home/ubuntu/src/API/server.js:15:5)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
我希望服务器不会抛出错误并让我的网站加载:(请帮忙!我知道我错过了一个步骤,但不知道在哪里。
【问题讨论】:
-
可以分享server.js中的代码吗?让我们尝试在没有
sudo的情况下启动node js进程,因此:nodejs server.js。 -
@JoKeRxbLaCk 添加了代码
-
您尝试访问的网址是
http://localhost:8080还是http://localhost:80?因为您设置在 express 中以收听port 80,所以您是否有从port 8080重定向到port 80的nginx或apache? -
@JoKeRxbLaCk 我已经尝试访问这两个,但没有看到任何内容,与我正在运行的实例的 IP 地址相同。我基本上已经复制了我其他现有网站的代码,该代码与此代码完美配合。我不知道我错过了哪一步..
-
@shway 试试我在回答中所说的
标签: node.js angularjs express ssh ubuntu-14.04