服务器用的是 DS 的 年付 15$ 512内存,256 交换空间的这款。貌似我的系统是 Ubuntu 12.10 。因为 Gitlab 官方推荐是 1GB 内存,所以这个稍微显得有点危险,尝试了大概一个星期,最后终于安装成功了。下面说说我遇到的坑。

其实官方的安装文档蛮详细的,按照官方文档一步一步来,应该不会出问题。但是出了问题的话,还是不知道去哪里找解决方案,我就出了这两个问题,经过坚持不懈的搜索和尝试,最后终于解决了这个错误,因为几乎每次重新安装,都会出现这个错误,所以还是写在这里,一方面大家可以看看,一方面自己也做一个记录。

主要是两个地方,

一个是安装完成之后,执行 service gitlab start 的时候报错,并且启动不成功,可以通过 service gitlab status 来查看状态,如果启动成功了,就会看到 pid 等信息,访问网页版的会提示 502,在

cat /var/log/nginx/gitlat_error.log
 
2013/08/09 10:42:17 [crit] 32573#0: 30 connect() to unix:/home/gitlab/gitlab/tmp/sockets/gitlab.socket failed (2: No such file or directory) while connecting to upstream, client: **********, server: **********, request: "GET / HTTP/1.1", upstream: "http://unix:/home/gitlab/gitlab/tmp/sockets/gitlab.socket:/", host: "*******"

查看日志,会出现此问题。

如果遇到这个问题,尝试重启服务器,然后在启动 gitlab 尝试多试几次,如果还是不行的话,再尝试执行下面几行代码,记得先 cd /home/git/gitlab

sudo -u gitlab -H bundle exec rake assets:precompile RAILS_ENV=production

这样我是可以了,但是不知道你的问题解决没有。

然后就是 url 跳转到了 /user/sign_in 登录页面,但是此时我还是 502 了,此时说明 gitlab 执行成功了,但是 还是有问题,经过搜索,在这篇博文中发现同样的错误,然后想起来,在按教程安装的时候,提示这步有错误,代码如下。

cp config/unicorn.rb.example config/unicorn.rb

执行这句的时候,提示没有此文件,但是在,config 目录下,发现了 unicorn.rb 文件,只不过是空的 0KB 大小,然后尝试再次执行此命令,一直都是提示 没有此文件,
此时尝试执行下,

sudo -u git -H bundle install --deployment --without development test postgres aws

以安装 unicorn ,但是官方文档是不安装这个的,不知道为什么,反正我是安装了。可以和官方的文档对比下(在 Install Gems 这节),多安装了一个unicorn。不过这个应该不是必须的。

此时再次执行

cp config/unicorn.rb.example config/unicorn.rb

如果还是提示没有此文件,那么就大杀器来了。

将 config/unicorn.rb 拷贝一份到本地,将这个文件中的内容全部复制近本地的 unicorn.rb 中,然后将其上传到 config 中。然后再执行

bundle exec unicorn_rails -c config/unicorn.rb -E production -D

重启下 gitlab 再试试。然后我就解决了这个问题。

4 条评论

  • jason 2013/10/10 16:02 回复

    谢谢,我也遇到类似情况了。。。感谢你的笔记,搞定了额

    • 一米 2013/10/10 16:09 回复

      不用谢,有用就好了。

  • msj100f 2015/04/16 16:10 回复

    按照上述没有解决我的问题,本屌不经意间查看了一下config/unicorn.rb这个文件,发现了这行 #listen “/home/git/gitlab/tmp/sockets/gitlab.socket”, :backlog => 64 将这行注释去掉,终于不再502了!!!

    • 一米 2015/04/16 20:03 回复

      哈哈,总是有用就好啊。