Linux에서 고가용성 로컬 코드 저장소(예: GitLab)를 구성하는 방법
소프트웨어 개발 및 팀워크가 점점 복잡해짐에 따라 코드 관리 및 버전 제어에 대한 요구도 증가하고 있습니다. 오픈 소스 코드 호스팅 플랫폼인 GitLab은 팀 공동 개발에 널리 사용됩니다. 코드 웨어하우스의 신뢰성과 안정성을 향상시키기 위해 단일 서버에 장애가 발생할 경우 자동으로 백업 서버로 전환할 수 있도록 가용성이 높은 로컬 코드 웨어하우스를 구성하여 팀의 업무에 영향을 미치지 않도록 할 수 있습니다.
이 기사에서는 Linux 시스템에서 GitLab을 구성하는 것을 예로 들어 고가용성 로컬 코드 저장소를 구현하는 방법을 소개합니다.
1. GitLab 설치 및 구성
Linux 시스템에 GitLab을 설치하는 방법에는 여러 가지가 있으며 여기서는 CentOS를 예로 들어 yum을 사용하여 설치합니다.
먼저 GitLab 소프트웨어 소스를 추가합니다:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
그런 다음 GitLab을 설치합니다:
sudo yum install -y gitlab-ee
설치가 완료된 후 관리자 계정 및 비밀번호 설정을 포함하여 GitLab에서 몇 가지 기본 구성을 수행해야 합니다. , 도메인 이름 바인딩 등
구성 파일/etc/gitlab/gitlab.rb
를 편집하여 구성하세요./etc/gitlab/gitlab.rb
进行配置:
sudo vi /etc/gitlab/gitlab.rb
找到以下行,将其取消注释并修改为对应的值:
external_url 'http://yourdomain.com'
保存并退出配置文件后,重新配置GitLab:
sudo gitlab-ctl reconfigure
二、配置高可用的本地代码仓库
为了实现高可用的本地代码仓库,我们需要设置一个主服务器和一个备用服务器,并通过负载均衡将流量分发到这两台服务器上。
下面是一个示例的配置,主服务器地址为192.168.0.1,备用服务器地址为192.168.0.2。
在主服务器和备用服务器上都安装和配置一个负载均衡器。这里我们使用Nginx作为负载均衡器。
首先,安装Nginx:
sudo yum install -y nginx
然后,编辑Nginx的配置文件/etc/nginx/nginx.conf
:
sudo vi /etc/nginx/nginx.conf
在http模块中添加以下配置:
http { upstream gitlab { server 192.168.0.1:80 weight=5; server 192.168.0.2:80 weight=1 backup; } server { listen 80; server_name yourdomain.com; location / { proxy_pass http://gitlab; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; } } }
保存并退出配置文件后,重新启动Nginx服务:
sudo systemctl restart nginx
在主服务器和备用服务器上都进行如下配置。
首先,编辑GitLab的配置文件/etc/gitlab/gitlab.rb
:
sudo vi /etc/gitlab/gitlab.rb
找到以下行,将其修改为对应的值:
external_url 'http://yourdomain.com' gitlab_rails['gitlab_shell_ssh_port'] = 10022
然后,关闭GitLab自带的Nginx服务,在/etc/gitlab/gitlab.rb
添加以下行:
nginx['enable'] = false
保存并退出配置文件后,重新配置GitLab:
sudo gitlab-ctl reconfigure
最后,修改SSH配置文件/etc/ssh/sshd_config
,将SSH的监听端口改为10022:
sudo vi /etc/ssh/sshd_config
找到以下行,将其修改为对应的值:
Port 10022
保存并退出配置文件后,重新启动SSH服务:
sudo systemctl restart sshd
三、测试高可用配置
完成以上配置后,我们可以进行一些测试来验证高可用的配置是否生效。
在浏览器中输入http://yourdomain.com
,查看是否能够正常访问GitLab页面。刷新页面多次,确认每次访问到的是不同的服务器。
在主服务器上停止GitLab服务:
sudo gitlab-ctl stop
然后,再次在浏览器中输入http://yourdomain.com
rrreee
rrreee
구성을 저장하고 종료하세요. file 마지막으로 GitLab을 재구성합니다:rrreee
2. 고가용성 로컬 코드 저장소 구성 고가용성 로컬 코드 저장소를 달성하려면 메인 서버와 백업 서버를 설정하고 이 두 서버에 트래픽을 분산해야 합니다. 서버의 로드 밸런싱을 통해 다음은 구성 예이며 기본 서버 주소는 192.168.0.1이고 백업 서버 주소는 192.168.0.2입니다. 로드 밸런싱 설치 및 구성 기본 서버와 백업 서버 모두에 로드 밸런서를 설치 및 구성합니다. 여기서는 Nginx를 로드 밸런서로 사용합니다. 먼저 Nginx를 설치합니다. rrreee그런 다음 Nginx의 구성 파일/etc/nginx/nginx.conf
를 편집합니다. rrreeehttp 모듈에 다음 구성을 추가합니다. rrreee저장하고 종료합니다. 파일을 구성한 후 Nginx 서비스를 다시 시작합니다. rrreee메인 서버 및 백업 서버 구성메인 서버와 백업 서버 모두에서 다음을 구성합니다. 먼저 GitLab의 구성 파일
/etc/gitlab/gitlab.rb
를 편집합니다. rrreee다음 줄을 찾아 해당 값으로 수정합니다. rrreee그런 다음 GitLab의 자체 Nginx 서비스를 닫습니다.
/etc/gitlab/gitlab.rb
에 다음 줄을 추가하세요: rrreee구성 파일을 저장하고 종료한 후 GitLab을 재구성하세요: rrreee마지막으로 SSH 구성 파일
/ etc를 수정하세요 /ssh/sshd_config
, SSH 수신 포트를 10022로 변경: rrreee다음 줄을 찾아 해당 값으로 수정합니다. rrreee구성 파일을 저장하고 종료한 후 SSH 서비스를 다시 시작합니다. rrreee 3. 고가용성 구성 테스트위 구성을 완료한 후 고가용성 구성이 적용되는지 확인하기 위해 몇 가지 테스트를 수행할 수 있습니다. 로드 밸런싱 테스트브라우저에
http://yourdomain.com
을 입력하여 정상적으로 GitLab 페이지에 접속할 수 있는지 확인해 보세요. 페이지를 여러 번 새로 고쳐 매번 다른 서버에 액세스하고 있는지 확인하세요. 활성/대기 전환 테스트메인 서버에서 GitLab 서비스를 중지합니다. rrreee그런 다음 브라우저에
http://yourdomain.com
을 다시 입력하여 자동 전환 여부를 확인합니다. 대기 서버로. 위의 테스트를 통해 가용성이 높은 로컬 코드 저장소가 성공적으로 구성되고 효과적임을 확인할 수 있습니다. 고가용성 로컬 코드 저장소를 구성할 때 GitLab 및 Nginx와 같은 도구를 사용하고 관련 구성을 만들었습니다. 이러한 구성을 통해 우리는 Linux 시스템에서 가용성이 높은 로컬 코드 웨어하우스를 성공적으로 구성했습니다. 이런 방식으로 메인 서버에 장애가 발생하더라도 백업 서버가 대신할 수 있어 팀의 작업이 영향을 받지 않고 코드 웨어하우스의 신뢰성과 안정성이 향상됩니다.
위 내용은 Linux에서 고가용성 로컬 코드 저장소(예: GitLab)를 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!