【发布时间】:2022-11-13 11:22:36
【问题描述】:
/var/opt/gitlab/gitlab-workhorse/ 文件夹缺少一个套接字并且通常几乎是空的。
我正在尝试设置 GitLab + nginx 代理。当我尝试加载页面时,出现 502 错误。 在弄清楚什么对我不起作用后,我意识到(gitlab-ctl status):
down: gitlab-workhorse: 0s, normally up, want up; run: log: (pid 3756258) 12450s
然后我决定查看我的主力插座,这就是我在 /var/opt/gitlab/gitlab-workhorse 文件夹(ls -ap /var/opt/gitlab/gitlab-workhorse/)中看到的:
./ ../ config.toml VERSION
我的 gitlab 设置:
nginx['enable'] = false
web_server['external_users'] = ['www-data']
gitlab_rails['trusted_proxies'] = ['127.0.0.1', <external-server-ip>]
gitlab_workhorse['listen_network'] = "unix"
gitlab_workhorse['listen_addr'] = "/var/opt/gitlab/gitlab-workhorse/sockets/socket"
nginx日志:
connect() to unix:/var/opt/gitlab/gitlab-workhorse/sockets/socket failed (13: Permission denied) while connecting to upstream
据我了解,我缺少所需的软件或一些文件。如果这是问题,我在哪里可以得到它们。如果没有,为什么我的主力无法工作?
p.s.对不起谷歌翻译:)
更新。 (/var/log/gitlab/gitlab-workhorse/current):
{"build_time":"20221024.191252","level":"info","msg":"Starting","time":"2022-10-30T20:05:21+03:00","version":"v15.5.1"}
{"address":"localhost:9229","level":"info","msg":"Running metrics server","network":"tcp","time":"2022-10-30T20:05:21+03:00"}
{"level":"info","msg":"keywatcher: starting process loop","time":"2022-10-30T20:05:21+03:00"}
{"address":"/var/opt/gitlab/redis/redis.socket","level":"info","msg":"redis: dialing","network":"unix","time":"2022-10-30T20:05:21+03:00"}
{"address":"/var/opt/gitlab/gitlab-workhorse/sockets/socket","level":"info","msg":"Running upstream server","network":"unix","time":"2022-10-30T20:05:21+03:00"}
{"error":"listen unix /var/opt/gitlab/gitlab-workhorse/sockets/socket: bind: no such file or directory","level":"fatal","msg":"shutting down","time":"2022-10-30T20:05:21+03:00"
【问题讨论】:
-
尝试在
/var/opt/gitlab/gitlab-workhorse文件夹中创建sockets文件夹并授予 gitlab-workhorse 在那里创建文件的权限 -
没有帮助 :(
-
您在 nginx 日志中查看哪个站点的日志?你的 gitlab 安装有选项
nginx['enable'] = false。请检查 gitlab-workhorse 的日志 - 可能有关于打开 unix 套接字的行 -
@AlexanderUshakov 不幸的是, gitlab-workhorse 日志显示它找不到套接字文件(我将其日志添加到了 upd。)。关于 nginx:我查看了我的代理服务器的日志,由于 gitlab-workhorse 不工作,它无法代理。完全重新安装 gitlab 并没有帮助。
-
你真的需要为 gitlab_workhorse unix socket 使用路径
/var/opt/gitlab/gitlab-workhorse/sockets/socket吗?尝试类似 `gitlab_workhorse['listen_addr'] = "/tmp/gitlab-workhorse-socket" 进行测试
标签: nginx gitlab nginx-reverse-proxy gitlab-ce