构建使用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