【问题标题】:Gitlab nginx problems - nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)Gitlab nginx 问题 - nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
【发布时间】:2014-10-13 03:23:15
【问题描述】:

我已经在自己的服务器上安装了 nginx,并且已经配置好了绑定地址。我不想更改 80 端口,因为我的服务器上有网站和用户。

Gitlab 在日志中有错误,那

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

我必须做什么?我可以在哪里以及如何更改 gitlab nginx 配置?

【问题讨论】:

  • 您使用的是综合包吗?
  • 将 gitlab 绑定到另一个端口并配置 nginx 代理到该端口

标签: linux nginx gitlab


【解决方案1】:

你可以使用 nginx 在同一个端口上运行两台服务器:

如果你安装了 gitlab-omnibus 并且你想更改默认端口:

  1. 打开/etc/gitlab/gitlab.rb
  2. 添加 external_url "http:// domain:NewPort"
  3. 运行 gitlab-ctl 重新配置

如果你已经安装了 gitlab 手动找到 nginx 的文件夹(你可以在控制台输入 whereis nginx)并在 sites-available 子文件夹中修改 gitlab 的文件。通常你要修改的文件是:/etc/nginx/sites-available/gitlab

【讨论】:

    【解决方案2】:

    正如你所说,你有 2 个 ng-instances,所以你不能同时使用不同的进程监听同一个端口。

    这里是选择:

    1. gitlab-ng 监听另一个端口,external-ng 监听 80 和 proxy_pass gitlab-ng。
    2. 停止使用 external-ng,将您的 external-ng 配置移动到 gitlab-ng,在 gitlab-ng 中使用 80/443 端口和不同域。

    【讨论】: