不同端口上的多个无服务器进程

问题描述 投票:0回答:1

我有多个无服务器应用程序,我使用无服务器离线插件在本地运行它

我正在设置端口,例如

custom:
  serverless-offline:
    httpPort: 4000

另一个无服务器

custom:
  serverless-offline:
    httpPort: 3000

任何时候我都只能运行一项服务其他节目:

启动无服务器离线 lambda 服务器时出现意外错误 端口 3002:{ 错误:监听 EADDRINUSE:地址已在使用中

但是我没有在任何地方使用 3002 但它显示 3002

这个错误是什么?

127.0.0.1:3002

serverless
1个回答
26
投票

2023 年 11 月更新

如果您访问无服务器文档,您可以看到无服务器使用四种不同的端口:

$ sls offline --help | grep " port "
--albPort                       ALB port to listen on. Default: 3003.
--httpPort                      HTTP port to listen on. Default: 3000.
--lambdaPort                    Lambda http port to listen on. Default: 3002.
--websocketPort                 Websocket port to listen on. Default: 3001.

如果您想运行多个无服务器离线 lambda 服务器,则必须指定全部 4 个。第一个无服务器配置应该如下所示:

custom:
    serverless-offline:
        httpPort: 4000
        websocketPort: 4001
        lambdaPort: 4002
        albPort: 4003

感谢 sidonai 在评论中指出这一点!

旧答案

如果您访问 Serverless 文档,您可以看到 Serverless 使用三种不同的端口:

$ sls offline --help | grep " port "$
--httpPort ......................... HTTP port to listen on. Default: 3000
--lambdaPort ....................... Lambda http port to listen on. Default: 3002
--websocketPort .................... Websocket port to listen on. Default: 3001

如果您想运行多个无服务器离线 lambda 服务器,则必须指定所有 3 个选项。第一个无服务器配置应该如下所示:

custom:
    serverless-offline:
        httpPort: 4000
        websocketPort: 4001
        lambdaPort: 4002
© www.soinside.com 2019 - 2024. All rights reserved.