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

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

主要是两个地方,

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

1
2
3
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

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

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

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

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

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

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

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

此时再次执行

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

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

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

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

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