amazon ec2 ubuntu 与 gitlab 和 nginx - 无法加载?

amazon ec2 ubuntu 与 gitlab 和 nginx - 无法加载?

好的,我已经启动了一个运行 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我解决了这个问题。

相关内容