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:运行独角兽的问题,Resque with Passenger/Nginx