2016-12-07 82 views
0

我想设置一个工作nodeJS socket.io服务器与快递。然而,我的回头率这个错误:套接字EADDRINUSE错误

Error: listen EADDRINUSE :::80 

我已经在这个网站它告诉我要寻找并杀死已在运行的过程中尝试过其他的解决方案,但grep命令返回任何正在运行的进程。我只能假设错误是我的设置代码:

var express = require("express"), 
    http = require('http'); 
var app = express(); 
var server = http.createServer(app) 
var io = require('socket.io')(server, {path: '/folder/socket.io'}).listen(server); 
app.get("/folder/", function(req, res){ 
    res.sendFile(__dirname + "/folder/client/index.html"); 
}); 
app.use("/folder/client", express.static(__dirname + "/folder/client")); 
app.listen(80); 

注意,因为我想节点上的一个子目录,而不是主路径/运行我指定的路径folder。有什么我做错了吗?

回答

0

您应该使用

server.listen(80); 

,而不是

app.listen(80); 

希望帮助!

0

我做我的云实例是我重定向80端口3000端口使用这个命令:

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000 
+0

我刚刚运行此命令,它已重定向的所有80个端口连接到端口3000上我的网络服务器,这是有问题的,因为我有我的服务器上运行的其他项目都使用端口80.我想知道是否有办法扭转这种情况? – DaemonOfTheWest