ubuntu16.04+gitlab+不使用绑定的nginx

前端之家收集整理的这篇文章主要介绍了ubuntu16.04+gitlab+不使用绑定的nginx前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

构建使用4天时间,主要是卡在了,Nginx.最开始的方案是共存.然后在做了,这个使用自身的Nginx.网上资料太少,官方文档也主要针对centos,故而花了时间来做一篇ubuntu的.较为舒适的还是使用共存的方案,只需要改下配置即可.但是共存太粗暴.所以还是用Nginx负载均衡的玩法做了出来.希望能给需要的人提供一点帮助.

1. gitlab的安装

参考:官方文档

sudo apt update
sudo apt upgrade
sudo apt-get install curl openssh-server ca-certificates postfix

发送邮件选择 ‘Internet Site’

sudo gitlab-ctl reconfigure

现在 可以直接使用了

2. gitlab的配置

2.1 gitlab版本号的查看

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

2.2 gitlab的ssh端口修改

2.2.1 打开配置文件

sudo vim /etc/gitlab/gitlab.rb

然后修改你的端口

gitlab_rails['gitlab_shell_ssh_port']=2000

注意:需要与下面ssh配置文件中port一致,如果你没有修改ssh默认端口,那么端口修改可以跳过

sudo vim /etc/ssh/sshd_config

2.2.2 使用命令重新生成配置

sudo gitlab-ctl reconfigure

2.3 https化

2.3.1 上传证书或者使用自己创建的(具体创建的看我另一篇文章)

vim /etc/gitlab/gitlab.rb

修改下面配置

external_url 'https://mypzh.com'

3. 不使用绑定的Nginx

3.1 gitlab配置做修改

vim /etc/gitlab/gitlab.rb

修改下面配置

Nginx['enable'] = false
web_server['external_users'] = ['www-data']

版本8以前的不适用

upstream gitlab-workhorse {
  server unix:/var/opt/gitlab/gitlab-workhorse/socket fail_timeout=0;
}
server {
  listen 0.0.0.0:80;
  listen [::]:80 ipv6only=on default_server;
  server_name mypzh.com;  #修改成你的地址
  server_tokens off; 
  return 301 https://$http_host$request_uri;
  access_log  /var/log/Nginx/gitlab_access.log;
  error_log   /var/log/Nginx/gitlab_error.log;
}

server {
  listen 0.0.0.0:443 ssl;
  listen [::]:443 ipv6only=on ssl default_server;
  server_name mypzh.com; #修改成你的地址
  root /opt/gitlab/embedded/service/gitlab-rails/public;

  ssl on;
  ssl_certificate /etc/Nginx/cert/mypzh.com.pem;#我放的是阿里云生成
  ssl_certificate_key /etc/Nginx/cert/mypzh.com.key;#我放的是阿里云生成

  ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_prefer_server_ciphers on;
  ssl_session_cache shared:SSL:10m;
  ssl_session_timeout 5m;

  access_log  /var/log/Nginx/gitlab_access.log;
  error_log   /var/log/Nginx/gitlab_error.log;

  location / {
    client_max_body_size 0;
    gzip off;

    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-Ssl     on;
    proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
    proxy_set_header    X-Forwarded-Proto   $scheme;
    proxy_pass http://gitlab-workhorse;
  }
}

4.其他的问题

4.1 配置修改ssh端口号:

gitlab_rails['gitlab_shell_ssh_port'] = 2000

猜你在找的Ubuntu相关文章