使用Gitlab内置的Nginx服务

1、去官网下载最新版的Gitlab软件,根据操作系统选择:(我的是CentOS7,选择rpm x64安装包)
https://packages.gitlab.com/gitlab/gitlab-ce

wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-11.7.5-ce.0.el7.x86_64.rpm/download.rpm

2、安装依赖包和相关配置

sudo yum install -y curl policycoreutils-python openssh-server
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
sudo systemctl enable sshd
sudo systemctl start sshd
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent  
sudo firewall-cmd --zone=public --add-port=8081/tcp --permanent  
sudo firewall-cmd --reload

3、安装Gitlab

rpm -i gitlab-ce-11.7.5-ce.0.el7.x86_64.rpm

4、配置Gitlab,监听8080端口

vi /etc/gitlab/gitlab.rb
#=======================
# 修改external_url,修改成你服务器的ip地址,如:external_url 'http://192.168.1.xxx'
# 查找所有8080端口,共3个,全部改成8081
# 查找nginx['listen_port'],将Nginx监听端口修改成8080

5、重启Gitlab服务器

sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

6、用浏览器访问:
http://192.168.1.xxx:8080

可能出现问题的解决方案:

安装过程中卡死不动,强制终止后运行下面指令

sudo systemctl restart gitlab-runsvdir
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

网络错误日志调试

gitlab-ctl tail

使用ssh clone时报 Permission denied 的错误:

cd ~/.ssh
ssh-keygen -t rsa -C 'xxx@gmail.com'

会生成id_rsa和id_rsa.pub,打开id_rsa.pub把里边所有的内容复制粘贴到gitlab的"SSH Keys"中,再次Clone就不会报错了。


如果在复制clone的http的连接时发现里边没有端口号,可以在服务器编辑"/etc/gitlab/gitlab.rb"文件,在“external_url”地址后增加端口号,然后执行:

sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart