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

Posted

技术标签:

【中文标题】Gitlab nginx 问题 - nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)【英文标题】:Gitlab nginx problems - 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 代理到该端口 【参考方案1】:

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

https://serverfault.com/questions/242679/how-to-run-multiple-nginx-instances-on-different-port

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

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

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

【讨论】:

【参考方案2】:

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

这里是选择:

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

【讨论】:

以上是关于Gitlab nginx 问题 - nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)的主要内容,如果未能解决你的问题,请参考以下文章

Gitlab 自带Nginx与原Nginx冲突的解决方案

Gitlab:运行独角兽的问题,Resque with Passenger/Nginx

通过 Nginx 代理为 Gitlab 服务器克隆的 Git 不起作用

gitlab docker nginx 反向代理到子路径

Gitlab 配置问题:: NGINX 独角兽端口冲突

gitlab 使用现有 nginx 服务器