【发布时间】:2018-03-22 09:00:44
【问题描述】:
我已经使用 Node 2 年多了,以前从未见过这种情况。当我运行lsof -i tcp:8080
时,8080 端口实际上没有使用任何东西。我也试过killall -9 node 和sudo fuser -k 8080/tcp
但还是一样的错误。
但是当我运行我的节点应用程序时,它会发生错误。不知道为什么会这样。有什么想法吗?
app.js
const app = new Koa()
const port = process.env.PORT || 8080
const dist = isProduction() ? __dirname + '/../views' : __dirname + '/views/'
const bpOption = {
fields: 'body',
IncomingForm: form
}
console.log("SIBAL")
app.keys = ['secret', 'key'];
require('./util/passport')
app
.use(logger())
.use(serve(dist))
.use(session({}, app))
.use(bodyParser(bpOption))
.use(passport.initialize())
.use(passport.session())
.use(views(dist, { extension: 'pug'}))
.use(routes())
let server = app.listen(port)
【问题讨论】:
-
您的应用是否多次尝试绑定到端口 8080?一些显示问题的示例代码会很好。
-
@MikeC 我刚刚添加了代码,顺便说一句,我只是注意到我每次都收到错误,即使在其他端口中也是如此
-
您正试图杀死 8080,但您的应用也期待
process.env.PORT也许您有一个环境变量使其在另一个端口上运行? -
@cinaroll45 这次我没有设置process.env.PORT。
-
@MikeCluck 您的评论令人大开眼界,正在努力解决类似的问题。谢谢!!
标签: javascript node.js ubuntu networking tcp