好的,我已经启动了一个运行 Ubuntu 的 Amazon EC2 服务器,然后按照以下说明安装 GitLab;
http://doc.gitlab.com/ce/install/installation.html
我唯一无法完成的步骤是对状态运行以下检查;
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
我收到以下错误;
rake aborted!
Errno::ENOMEM: Cannot allocate memory - whoami
我推测这是因为我的 EC2 仅运行免费层设置,因此规格不太好。
无论如何,我一直试图通过浏览器访问它。我已经设置了弹性 IP 并将我的域名指向它(为此,假设它是 git.mydom.co.uk)。在这个域名上执行 whois 查询显示它指向了正确的地方。
但是出于某种原因,我收到了“哎呀,Chrome 无法连接到 git.mydom.co.uk”。现在 - 一段时间内,我收到了 Nginx 暂停页面(告诉我仍然需要执行配置)。不过,在从 /etc/nginx/sites-enabled/ 中删除默认文件后,该页面就消失了(阅读完后,这可能是故障排除页面上的问题)。从那时起,我什么也没得到,即使我从 /sites-available 重新符号链接了该文件。我尝试将位于 /sites-enabled 和 /sites-available 中的 git.mydom.co.uk 文件的所有者更改为 www-data,正如建议的那样这里,但我只能更改 /sites-available 中文件的权限,而不能更改 /sites-enabled 中符号链接文件的权限。此文件的内容如下;
upstream gitlab {
server unix:/home/git/gitlab/tmp/sockets/gitlab.socket;
}
server {
listen *:80 default_server; # e.g., listen 192.168.1.1:80; In most cases *:80 is a good idea
server_name git.mydom.co.uk; # e.g., server_name source.example.com;
server_tokens off; # don't show the version number, a security best practice
root /home/git/gitlab/public;
# Increase this if you want to upload large attachments
# Or if you want to accept large git objects over http
client_max_body_size 20m;
# individual nginx logs for this gitlab vhost
access_log /var/log/nginx/gitlab_access.log;
error_log /var/log/nginx/gitlab_error.log;
location / {
# serve static files from defined root folder;.
# @gitlab is a named location for the upstream fallback, see below
try_files $uri $uri/index.html $uri.html @gitlab;
}
这里提到的所有路径看起来都不错...我现在已经到了我的知识的尽头了!
更新 #1
在建议交换一些内存后,我现在已经设法得到了......
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
...工作正常。但是这引发了 gitlab-shell 的以下错误。
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 check)
经过一番研究,我认为这是因为我的域名配置不正确。我已从 sites-enabled 中删除了默认符号链接(因此与 default_server 标记没有冲突),现在我已将 git.mydom.co.uk 文件中的根路径更改为指向包含索引文件的简单目录路径,但我仍然无法通过浏览器使其工作。是不是我遗漏了什么?
答案1
看起来您在安装过程中错过了一些东西,因为检查返回了内存不足的错误。
这GitLab Ubuntu 要求状态:
512MB 是绝对最小值,但我们不推荐这个内存量,您需要配置最小 256MB 的交换,您的内存只允许您运行一个缓慢的 unicorn worker,只有 git ssh 访问才能工作,因为 git http 访问需要两个正在运行的 worker(一个用于接收用户请求,一个用于授权检查)
由于亚马逊 EC2 免费套餐实例只有约 600MB 内存,因此您需要配置交换。您可以按照以下说明在您的机器上配置交换空间:https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-12-04
答案2
我遇到了同样的问题。添加我的 Gitlab 域并将/etc/hosts
其指向为127.0.0.1
我解决了这个问题。