【问题标题】:meteor up listen tcp 0.0.0.0:80: bind: address already in usemeteor up listen tcp 0.0.0.0:80: bind: address already in use
【发布时间】:2017-05-30 22:10:00
【问题描述】:

我正在使用流星部署到 vps。我在mup deploy 的“开始流星”阶段收到标题错误,以及一长串

 Error response from daemon: endpoint (appname) not found
 Error response from daemon: No such container: (appname)-frontend

等等

我尝试在 mup.js 中更改 docker 的 imagePort 值,但我仍然收到相同的错误,仍然是 0.0.0.0:80

【问题讨论】:

  • “地址已在使用中”表示已经有程序绑定到您尝试使用的地址。您是否有运行在该地址上的网络服务器或其他程序?也许您应该为您的应用程序使用另一个端口号?
  • 有时某些程序会保持此端口打开 cough skype cough - 使用连接查看器来跟踪它们。你用什么操作系统?
  • @Someprogrammerdude 我尝试更改端口,但仍然收到错误消息说端口 80 正在使用中。大概我没有以正确的方式/地点更改端口
  • @OvidiuDolha macOS Sierra
  • 地址已经在使用中是指我的机器或服务器上正在使用的地址吗?

标签: meteor docker web-deployment meteor-up


【解决方案1】:

在您的情况下,已经有一个应用程序使用端口 80。您可以删除该应用程序并继续重新部署,或者您可以更改您的流星应用程序将使用的端口,如下所示:

module.exports = {
  servers: { ... },
  meteor: {
    name: ...,
    path: ...
    buildOptions: ...
    env: {
      PORT: 3000,
      ROOT_URL: 'http://<your server ip>:3000',
      MONGO_URL: ...
    },

    deployCheckWaitTime: 120,
    enableUploadProgressBar: true,
  }
};

【讨论】:

  • 感谢您的帮助。我在验证部署阶段之后立即遇到了问题,但它似乎完全不相关。当我可以验证它是一个单独的问题时,我会将您的答案标记为正确
  • 验证阶段只是试图卷曲ROOT_URL地址。如果它在 deployCheckWaitTime 时间内没有收到任何回复,它会说它失败了。对于我的应用程序,我设置了 120 秒的延迟,这通常足以让流星应用程序上线。所以有两件事可以尝试:1. 检查您的应用程序是否在 5 分钟后启动 2. 检查应用程序端口或传出流量是否没有防火墙
  • 它仍然在日志中显示 =&gt; Starting meteor app on port:80 但我没有收到错误