CentOS7 安装配置 GitLab
CentOS7 服务器上搭建 Gitlab#
Gitlab 如何搭建?
-
安装 gitlab 所需要的依赖
sudo yum install curl policycoreutils openssh-server openssh-clients
-
使 sshd 服务自动启动
sudo systemctl enable sshd
-
启动 sshd 服务
sudo systemctl start sshd
-
安装邮件服务器
sudo yum install postfix
-
使邮件服务器 postfix 自启动
sudo systemctl enable postfix
-
启动邮件服务器 postfix
sudo systemctl start postfix
-
开放防火墙
sudo firewall-cmd --permanent --add-service=http
-
重启防火墙
如何启动 GitLab?
-
启动,配置
sudo gitlab-ctl reconfigure
-
修改 gitlab 配置文件指定服务器 ip 和自定义端口
vim /etc/gitlab/gitlab.rb 修改 extenal_url="" 为自己服务器的访问ip+端口或域名
ps: 注意这里设置的端口不能被占用,默认是 8080 端口,可以定义其它端口,并在防火墙设置开放相对应端口。
firewall-cmd --permanent --add-port=8888/tcp systemctl restart firewalld.service
-
重置并启动 GitLab
重新配置 gitlab-ctl reconfigure 重启 gitlab-ctl restart
访问 gitlab:http://192.168.0.108:8099/ 或 你的域名
说明一下,域名访问需要配置 Nginx,可用 Gitlab 内置或外部独立的 -
502 错误可能的原因
- 端口冲突
- 内存不足
- 外部 Nginx 访问权限不足
- Nginx 访问请求连接被重置 <我操作时 Nginx 配置有误导致这个问题,所以在这里 mark 一下>
如何使用外部 Nginx?
-
禁用 Gitlab 内部的 Nginx
vim /etc/gitlab/gitlab.rb 在配置中开启一下配置 nginx['enable'] = false
-
修改外部 Nginx 配置
upstream gitlab_server { server unix://var/opt/gitlab/gitlab-rails/sockets/gitlab.socket; } server { listen *:80; server_name gitlab.paipailicai.cn; server_tokens off; # don't show the version number, a security best practice root /opt/gitlab/embedded/service/gitlab-rails/public; client_max_body_size 250m; access_log /usr/local/ddanglc/gitlab/logs/gitlab_access.log; error_log /usr/local/ddanglc/gitlab/logs/gitlab_error.log; location / { try_files $uri $uri/index.html $uri.html @gitlab; } location @gitlab { proxy_read_timeout 300; # Some requests take more than 30 seconds. proxy_connect_timeout 300; # Some requests take more than 30 seconds. proxy_redirect off; proxy_set_header X-Forwarded-Proto $scheme; 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-Frame-Options SAMEORIGIN; proxy_pass http://gitlab_server; } location ~ ^/(assets)/ { root /opt/gitlab/embedded/service/gitlab-rails/public; expires max; add_header Cache-Control public; } error_page 502 /502.html; }
-
修改权限配置,让外部 Nginx 访问 gitlab 的 socket 文件
sudo chmod -R o+x /var/opt/gitlab/gitlab-rails
-
重启 nginx, 重启 gitlab
sudo /usr/local/nginx/sbin/nginx -s reload sudo gitlab-ctl reconfigure
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: