Maison > Article > Opération et maintenance > Comment configurer un référentiel de code local hautement disponible (tel que GitLab) sous Linux
Comment configurer un référentiel de code local hautement disponible (tel que GitLab) sur Linux
À mesure que le développement de logiciels et le travail d'équipe deviennent de plus en plus complexes, la demande de gestion de code et de contrôle de version augmente également. En tant que plateforme d'hébergement de code open source, GitLab est largement utilisé dans le développement collaboratif en équipe. Afin d'améliorer la fiabilité et la stabilité de l'entrepôt de code, nous pouvons configurer un entrepôt de code local hautement disponible afin qu'il puisse basculer automatiquement vers un serveur de sauvegarde en cas de panne d'un seul serveur, garantissant ainsi que le travail de l'équipe n'est pas affecté.
Cet article prendra comme exemple la configuration de GitLab sur un système Linux pour présenter comment implémenter un référentiel de code local hautement disponible.
1. Installez et configurez GitLab
Il existe de nombreuses façons d'installer GitLab sur un système Linux. Ici, nous prenons CentOS comme exemple et utilisons yum pour l'installer.
Tout d'abord, ajoutez la source du logiciel GitLab :
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
Ensuite, installez GitLab :
sudo yum install -y gitlab-ee
Une fois l'installation terminée, nous devons effectuer certaines configurations de base sur GitLab, notamment la définition du compte administrateur et du mot de passe. , et lier les noms de domaine, etc.
Configurez en éditant le fichier de configuration /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
Enregistrez et quittez la configuration file Enfin, reconfigurez GitLab :rrreee
2. Configurez un référentiel de code local hautement disponible 🎜🎜Afin d'obtenir un référentiel de code local hautement disponible, nous devons configurer un serveur principal et un serveur de sauvegarde, et distribuer le trafic vers ces deux grâce à l'équilibrage de charge sur un serveur. 🎜🎜Ce qui suit est un exemple de configuration, l'adresse du serveur principal est 192.168.0.1 et l'adresse du serveur de sauvegarde est 192.168.0.2. 🎜🎜🎜Installer et configurer l'équilibrage de charge 🎜🎜🎜Installez et configurez un équilibreur de charge sur les serveurs principal et de sauvegarde. Ici, nous utilisons Nginx comme équilibreur de charge. 🎜🎜Tout d'abord, installez Nginx : 🎜rrreee🎜Ensuite, éditez le fichier de configuration de Nginx/etc/nginx/nginx.conf
: 🎜rrreee🎜Ajoutez la configuration suivante dans le module http : 🎜rrreee🎜Enregistrez et quittez Après avoir configuré le fichier, redémarrez le service Nginx : 🎜rrreee🎜🎜Configurez le serveur principal et le serveur de sauvegarde🎜🎜🎜Configurez les éléments suivants sur le serveur principal et le serveur de sauvegarde. 🎜🎜Tout d'abord, éditez le fichier de configuration de GitLab /etc/gitlab/gitlab.rb
: 🎜rrreee🎜Trouvez la ligne suivante et modifiez-la avec la valeur correspondante : 🎜rrreee🎜Ensuite, fermez le service Nginx de GitLab, ajoutez la ligne suivante dans /etc/gitlab/gitlab.rb
: 🎜rrreee🎜Après avoir enregistré et quitté le fichier de configuration, reconfigurez GitLab : 🎜rrreee🎜Enfin, modifiez le fichier de configuration SSH / etc /ssh/sshd_config
, changez le port d'écoute SSH en 10022 : 🎜rrreee🎜Recherchez la ligne suivante et modifiez-la à la valeur correspondante : 🎜rrreee🎜Après avoir enregistré et quitté le fichier de configuration, redémarrez le service SSH : 🎜 rrreee 🎜3. Testez la configuration haute disponibilité🎜🎜Après avoir terminé la configuration ci-dessus, nous pouvons effectuer quelques tests pour vérifier si la configuration haute disponibilité prend effet. 🎜🎜🎜Test de l'équilibrage de charge🎜🎜🎜Entrez http://votredomaine.com
dans le navigateur pour voir si vous pouvez accéder normalement à la page GitLab. Actualisez la page plusieurs fois pour confirmer que vous accédez à un serveur différent à chaque fois. 🎜🎜🎜Test de la commutation actif/veille🎜🎜🎜Arrêtez le service GitLab sur le serveur principal : 🎜rrreee🎜Entrez ensuite à nouveau http://votredomaine.com
dans le navigateur pour confirmer s'il passe automatiquement à serveur de secours. 🎜🎜Grâce aux tests ci-dessus, nous pouvons confirmer que le référentiel de code local hautement disponible a été configuré avec succès et efficace. 🎜🎜Lors de la configuration d'un référentiel de code local hautement disponible, nous avons utilisé des outils tels que GitLab et Nginx et effectué des configurations pertinentes. Grâce à ces configurations, nous avons réussi à configurer un entrepôt de code local hautement disponible sur le système Linux. De cette façon, même en cas de panne du serveur principal, le serveur de sauvegarde peut prendre le relais, garantissant que le travail de l'équipe ne soit pas affecté et améliorant la fiabilité et la stabilité de l'entrepôt de code. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!