archlinux 上的 Gitlab 不工作 -> API 无法访问

Gitlab on archlinux not working -> API not reachable

我尝试在 https://wiki.archlinux.org/index.php/gitlab 之后在 archlinux 上安装 gitlab 由于8080是一个很好的当前端口,我已经切换到8033。

当我尝试连接到该网站时,它向我显示 402 错误。 如果我查看 nginx/gitlab_errors.log 我有:

2015/03/23 21:16:00 [error] 29748#0: *1081 connect() failed (111: Connection refused) while connecting to upstream, client: 5.51.59.153, server: gitlab.floth.fr, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8033/", host: "gitlab.floth.fr"

如果我打开 /var/lib/gitlab/gitlab-shell.log 我得到

# Logfile created on 2015-03-23 21:09:06 +0100 by logger.rb/47272
W, [2015-03-23T21:09:06.321779 #30833]  WARN -- : Failed to connect to internal API <GET http://localhost:8033/api/v3/internal/check>: #<Errno::ECONNREFUSED: Connection refused - connect(2) for "localhost" port 8033>
W, [2015-03-23T21:17:48.059769 #31230]  WARN -- : Failed to connect to internal API <GET http://localhost:8033//api/v3/internal/check>: #<Errno::ECONNREFUSED: Connection refused - connect(2) for "localhost" port 8033>
W, [2015-03-23T21:22:01.846281 #31548]  WARN -- : Failed to connect to internal API <GET http://localhost:8033//api/v3/internal/check>: #<Errno::ECONNREFUSED: Connection refused - connect(2) for "localhost" port 8033>

如果我 运行 sudo -u gitlab bundle exec rake gitlab:check RAILS_ENV=production 我得到:

hooks directories in repos are links: ... can't check, you have no projects
Running /usr/share/webapps/gitlab-shell/bin/check
Check GitLab API access: FAILED: Failed to connect to internal API
gitlab-shell self-check failed
  Try fixing it:
  Make sure GitLab is running;
  Check the gitlab-shell configuration file:
  sudo -u gitlab -H editor /usr/share/webapps/gitlab-shell/config.yml
  Please fix the error above and rerun the checks.

Checking GitLab Shell ... Finished

如果我执行 netstat -a | grep 8033,没有在那个端口上监听...

有谁知道在哪里寻找?哪个服务因为未启动或失败而未 运行ning? 谢谢你的帮助。


编辑 gitlab-shell/config.yml

的内容
user: gitlab
gitlab_url: "http://localhost:8033/"

repos_path: "/srv/git/gitlab"

auth_file: "/var/lib/gitlab/.ssh/authorized_keys"

redis:
  bin: /usr/bin/redis-cli
  host: 127.0.0.1
  port: 6379
  database: 0
  namespace: resque:gitlab

log_file: "/var/log/gitlab/gitlab-shell.log"
log_level: INFO
audit_usernames: false
git_annex_enabled: false

多田! 我发现我的配置哪里不好。 一切都源于我选择了 8080 以外的其他端口。 在这种情况下,重要的不仅是修改 gitlab-shell 配置(即仅客户端),而且修改服务器部分 gitlab/config/unicorn.rb:

# Listen on both a Unix domain socket and a TCP port.
# If you are load-balancing multiple Unicorn masters, lower the backlog
# setting to e.g. 64 for faster failover.
listen "/run/gitlab/gitlab.socket", :backlog => 1024
listen "127.0.0.1:8033", :tcp_nopush => true