Archlinux上的Gitlab无法正常工作->无法访问API
我尝试按照 https://wiki.archlinux.org/index在archlinux上安装gitlab .php/gitlab 由于8080是目前流行的端口,因此我已切换到8033.
I have tried to install gitlab on archlinux following https://wiki.archlinux.org/index.php/gitlab As 8080 is a well current port, I have switched to 8033.
当我尝试连接到该网站时,它会显示402错误. 如果我看一下nginx/gitlab_errors.log我有:
When I try to connect to the website, it prints me 402 error. If I have a look to nginx/gitlab_errors.log I have :
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
,我会得到:
And if I run sudo -u gitlab bundle exec rake gitlab:check RAILS_ENV=production
I get :
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,没有任何侦听该端口的信息...
If I do netstat -a | grep 8033, nothing listening on that port...
有人知道在哪里找吗?由于未启动或失败,什么服务未运行? 谢谢您的帮助.
Does anyone have an idea where to look for ? What service is not running because not started or failed? Thank you for your help.
编辑
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
TADA!
我发现我的配置不好.
全部来自我选择了8080以外的端口的事实.
在这种情况下,不仅修改gitlab-shell配置(仅是客户端),而且服务器部分gitlab/config/unicorn.rb
:
TADA !
I found where my configuration was bad.
All comes from the fact I have chosen an other port than 8080.
In such a case, it is important not only to modify gitlab-shell configuration (that is only the client) but the server part 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