检查GitLab API访问:FAILED。代码:500和所有页面给出500错误

时间:2015-03-29 21:53:36

标签: gitlab

在查看页面并执行以下操作时,我收到500错误代码:

sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production

输出 检查GitLab API访问:FAILED。代码:500

gitlab-shell self-check failed
  Try fixing it:
  Make sure GitLab is running;
  Check the gitlab-shell configuration file:
  sudo -u git -H editor /home/git/gitlab-shell/config.yml
  Please fix the error above and rerun the checks.

1 个答案:

答案 0 :(得分:2)

检查位于/home/git/gitlab/log/production.log的生产日志

tail -n 100 /home/git/gitlab/log/production.log

我看到最后几个错误与:

有关
Errno::EACCES (Permission denied - connect(2) for /var/run/redis/redis.sock):
在<&#39;

中阻止

config/initializers/rack_attack_git_basic_auth.rb:5:in

所以从命令行:

cd /var/run/redis/
ls -l

输出

-rw-r--r-- 1 redis redis 5 Mar 29 16:39 redis-server.pid
srwxrwxr-x 1 root root 0 Mar 29 16:39 redis.sock

在这里,我认为文件本身redis.sock具有错误的权限或由错误的用户(root)拥有,让我们将其更改为redis:

chown redis:redis redis.sock
ls -l

输出

-rw-r--r-- 1 redis redis 5 Mar 29 16:39 redis-server.pid
srwxrwxr-x 1 redis redis 0 Mar 29 16:39 redis.sock

现在一切正常,我现在可以从终端推送/拉到gitlab,也可以查看页面而不会出现500错误。

500错误可能有不同的原因(尽管大多数时候它的权限错误都是这样的)因此检查日志很重要。