Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So konfigurieren Sie ein hochverfügbares lokales Code-Repository (z. B. GitLab) unter Linux

So konfigurieren Sie ein hochverfügbares lokales Code-Repository (z. B. GitLab) unter Linux

WBOY
WBOYOriginal
2023-07-05 18:27:102285Durchsuche

So konfigurieren Sie ein hochverfügbares lokales Code-Repository (wie GitLab) unter Linux

Da Softwareentwicklung und Teamarbeit immer komplexer werden, steigt auch die Nachfrage nach Codeverwaltung und Versionskontrolle. Als Open-Source-Code-Hosting-Plattform wird GitLab häufig in der kollaborativen Teamentwicklung eingesetzt. Um die Zuverlässigkeit und Stabilität des Code-Warehouses zu verbessern, können wir ein hochverfügbares lokales Code-Warehouse so konfigurieren, dass es bei Ausfall eines einzelnen Servers automatisch auf einen Backup-Server umschalten kann, um sicherzustellen, dass die Arbeit des Teams nicht beeinträchtigt wird.

In diesem Artikel wird die Konfiguration von GitLab auf einem Linux-System als Beispiel verwendet, um vorzustellen, wie ein hochverfügbares lokales Code-Repository implementiert wird.

1. GitLab installieren und konfigurieren

  1. GitLab installieren

Es gibt viele Möglichkeiten, GitLab auf einem Linux-System zu installieren. Hier nehmen wir CentOS als Beispiel und verwenden yum, um es zu installieren.

Fügen Sie zunächst die GitLab-Softwarequelle hinzu:

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash

Dann installieren Sie GitLab:

sudo yum install -y gitlab-ee
  1. GitLab konfigurieren

Nach Abschluss der Installation müssen wir einige grundlegende Konfigurationen auf GitLab durchführen, einschließlich der Festlegung des Administratorkontos und des Passworts , und Domänennamen binden usw.

Konfigurieren Sie, indem Sie die Konfigurationsdatei /etc/gitlab/gitlab.rb bearbeiten: /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。

  1. 安装和配置负载均衡

在主服务器和备用服务器上都安装和配置一个负载均衡器。这里我们使用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
  1. 配置主服务器和备用服务器

在主服务器和备用服务器上都进行如下配置。

首先,编辑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

三、测试高可用配置

完成以上配置后,我们可以进行一些测试来验证高可用的配置是否生效。

  1. 测试负载均衡

在浏览器中输入http://yourdomain.com,查看是否能够正常访问GitLab页面。刷新页面多次,确认每次访问到的是不同的服务器。

  1. 测试主备切换

在主服务器上停止GitLab服务:

sudo gitlab-ctl stop

然后,再次在浏览器中输入http://yourdomain.comrrreee

Suchen Sie die folgende Zeile, kommentieren Sie sie aus und ändern Sie sie in den entsprechenden Wert:

rrreee

Speichern und beenden Sie die Konfiguration file Zum Schluss GitLab neu konfigurieren:

rrreee

2. Konfigurieren Sie ein hochverfügbares lokales Code-Repository 🎜🎜 Um ein hochverfügbares lokales Code-Repository zu erreichen, müssen wir einen Hauptserver und einen Backup-Server einrichten und den Datenverkehr auf diese beiden verteilen durch Lastausgleich auf einem Server. 🎜🎜Das Folgende ist eine Beispielkonfiguration, die primäre Serveradresse ist 192.168.0.1 und die Backup-Serveradresse ist 192.168.0.2. 🎜🎜🎜Installieren und konfigurieren Sie den Lastausgleich. 🎜🎜🎜Installieren und konfigurieren Sie einen Lastausgleich sowohl auf dem Primär- als auch auf dem Backup-Server. Hier verwenden wir Nginx als Load Balancer. 🎜🎜Installieren Sie zunächst Nginx: 🎜rrreee🎜Bearbeiten Sie dann die Nginx-Konfigurationsdatei /etc/nginx/nginx.conf: 🎜rrreee🎜Fügen Sie die folgende Konfiguration im http-Modul hinzu: 🎜rrreee🎜Speichern und beenden Nachdem Sie die Datei konfiguriert haben, starten Sie den Nginx-Dienst neu: 🎜rrreee🎜🎜Konfigurieren Sie den Hauptserver und den Sicherungsserver.🎜🎜🎜Konfigurieren Sie Folgendes sowohl auf dem Hauptserver als auch auf dem Sicherungsserver. 🎜🎜Bearbeiten Sie zunächst die Konfigurationsdatei von GitLab /etc/gitlab/gitlab.rb: 🎜rrreee🎜Suchen Sie die folgende Zeile und ändern Sie sie in den entsprechenden Wert: 🎜rrreee🎜Schließen Sie dann GitLabs eigenen Nginx-Dienst. Fügen Sie die folgende Zeile in /etc/gitlab/gitlab.rb hinzu: 🎜rrreee🎜Nach dem Speichern und Beenden der Konfigurationsdatei konfigurieren Sie GitLab neu: 🎜rrreee🎜Ändern Sie abschließend die SSH-Konfigurationsdatei /etc /ssh/sshd_config, ändern Sie den SSH-Listening-Port auf 10022: 🎜rrreee🎜Suchen Sie die folgende Zeile und ändern Sie sie in den entsprechenden Wert: 🎜rrreee🎜Nach dem Speichern und Verlassen der Konfigurationsdatei starten Sie den SSH-Dienst neu: 🎜 rrreee 🎜3. Testen Sie die Hochverfügbarkeitskonfiguration🎜🎜Nach Abschluss der obigen Konfiguration können wir einige Tests durchführen, um zu überprüfen, ob die Hochverfügbarkeitskonfiguration wirksam wird. 🎜🎜🎜Lastverteilung testen🎜🎜🎜Geben Sie http://yourdomain.com in den Browser ein, um zu sehen, ob Sie normal auf die GitLab-Seite zugreifen können. Aktualisieren Sie die Seite mehrmals, um sicherzustellen, dass Sie jedes Mal auf einen anderen Server zugreifen. 🎜🎜🎜Aktiv/Standby-Umschaltung testen🎜🎜🎜Stoppen Sie den GitLab-Dienst auf dem Hauptserver: 🎜rrreee🎜Dann geben Sie http://yourdomain.com erneut in den Browser ein, um zu bestätigen, ob automatisch umgeschaltet wird Standby-Server. 🎜🎜Durch die oben genannten Tests können wir bestätigen, dass das hochverfügbare lokale Code-Repository erfolgreich konfiguriert und effektiv ist. 🎜🎜Bei der Konfiguration eines hochverfügbaren lokalen Code-Repositorys haben wir Tools wie GitLab und Nginx verwendet und entsprechende Konfigurationen vorgenommen. Durch diese Konfigurationen haben wir erfolgreich ein hochverfügbares lokales Code-Warehouse auf dem Linux-System konfiguriert. Selbst wenn der Hauptserver ausfällt, kann auf diese Weise der Backup-Server übernehmen, wodurch sichergestellt wird, dass die Arbeit des Teams nicht beeinträchtigt wird und die Zuverlässigkeit und Stabilität des Code-Warehouse verbessert wird. 🎜

Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie ein hochverfügbares lokales Code-Repository (z. B. GitLab) unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn