我正在尝试在 GCE 上使用 Expressjs 部署 Web 服务器,但在控制台上一直出现错误:
<username>@instance-1:~/repository$ sudo node main.js
node:events:355
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE: address already in use :::80
at Server.setupListenHandle [as _listen2] (node:net:1310:16)
at listenInCluster (node:net:1358:12)
at Server.listen (node:net:1445:7)
at Function.listen (/home/<username>/repository/node_modules/express/lib/application.js:618:24)
at Object.<anonymous> (/home/<username>/repository/main.js:52:5)
at Module._compile (node:internal/modules/cjs/loader:1108:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1137:10)
at Module.load (node:internal/modules/cjs/loader:973:32)
at Function.Module._load (node:internal/modules/cjs/loader:813:14)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:76:12)
Emitted 'error' event on Server instance at:
at emitErrorNT (node:net:1337:8)
at processTicksAndRejections (node:internal/process/task_queues:81:21) {
code: 'EADDRINUSE',
errno: -98,
syscall: 'listen',
address: '::',
port: 80
(只改了我的用户名,其他的直接从控制台复制)
我看到使用 App Engine 进行部署的文档,但每次我在 App Engine 上部署项目时,他们总是说超出了某些内容。我使用的是免费套餐,所以我认为这就是原因。
无论如何,我的 nodejs 脚本侦听端口 6806,并且我允许从 GCP 防火墙进出端口访问端口。我也改变了IP地址。 请有人指导我正确的方法。谢谢,
附注。抱歉英语不好