首页 » 折腾 » 正文

在服务器上部署gitlab与vestacp

这两个都很好安装,需要处理的问题就是gitlab与vestacp都有nginx,并且都会占用80端口.所以配置 gitlab不开启nginx,然后在vestacp的nginx添加gitlab的代理.

gitlab主要配置:

external_url 'http://git.justchen.com'
git_data_dir "/home/gitdata/data"
gitlab_rails['backup_path'] = "/home/gitdata/backup"
unicorn['worker_processes'] = 3
unicorn['worker_timeout'] = 120
nginx['enable'] = false

安装vestacp会自动安装nginx,修改nginx配置文件/etc/nginx/nginx.conf

在 include /etc/nginx/conf.d/*.conf; 上面加入以下代码

#================  GITLAB   ===================!
upstream gitlab-workhorse {
  server unix:/var/opt/gitlab/gitlab-workhorse/socket;
}


server {
  listen 157.7.52.115:80;
  
  server_name git.justchen.com;
  server_tokens off; ## Don't show the nginx version number, a security best practice
  root /opt/gitlab/embedded/service/gitlab-rails/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 0;


  ## Individual nginx logs for this GitLab vhost
  access_log  /home/logs/gitlab_access.log;
  error_log   /home/logs/gitlab_error.log;

  location / {
    ## If you use HTTPS make sure you disable gzip compression
    ## to be safe against BREACH attack.
    

    ## https://github.com/gitlabhq/gitlabhq/issues/694
    ## Some requests take more than 30 seconds.
    proxy_read_timeout      300;
    proxy_connect_timeout   300;
    proxy_redirect          off;

    proxy_http_version 1.1;

    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto http;

    proxy_pass http://gitlab-workhorse;
  }
  
}


    # Wildcard include
    include             /etc/nginx/conf.d/*.conf;
}

需要注意的是,nginx的运行身份也得是 git

20161010更新:
在gitlab升级后,部份项目会出现500错误,这里动要运行以下命令解决:

sudo gitlab-rails runner  "Project.where.not(import_url: nil).each { |p| p.import_data.destroy if p.import_data }"

参考:https://gitlab.com/gitlab-org/gitlab-ce/issues/17873

发表评论