Wie richte ich Gitlab-Omnibus mit nicht gebündeltem Webserver ein?

Wie richte ich Gitlab-Omnibus mit nicht gebündeltem Webserver ein?

Installieren

  1. Ich habe das gitlabPaket über das Omnibus-Paket auf debian 7(Version 7.8.1-omnibus-1_amd64.deb) installiert;
  2. ändern Sie die Einstellungen wie inVerwendung eines nicht gebündelten Webservers
  3. Führen Sie den Neukonfigurationsbefehl aus: sudo gitlab-ctl reconfigure(ohne Fehler abschließen).

Nginx

Ich habe keine nginxKonfiguration für dieses Gitlab, außer dem, was das Paket möglicherweise mit der folgenden /etc/gitlab/gitlab.rbDatei erstellt hat:

external_url 'http://git.mydomain.fr'
web_server['external_users'] = ['www-data']
nginx['enable'] = false
ci_nginx['enable'] = false

Protokolle

/var/log/nginx/gitlab_error.log

2015/02/28 14:29:16 [alert] 4137#0: *14738 768 worker_connections are not enough while connecting to upstream, client: x.x.128.194, server: git.mydomain.fr, request: "GET / HTTP/1.0", upstream
: "http://x.x.128.194:80/", host: "git.mydomain.fr"

/var/log/nginx/gitlab_access.log

Im acces.log habe ich Hunderte von Anfragen dazu /.

x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"
x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"
x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"
x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"

Frage

Beim Versuch, den Server lokal oder extern zu kontaktieren, links2ist eine Fehlermeldung aufgetreten 502 Bad Gateway.

  • muss ich eine benutzerdefinierte Nginx-Konfiguration erstellen?

Antwort1

Bei meiner weiteren Suche finde ich das /var/opt/gitlab/Verzeichnis und löse das Problem folgendermaßen:

sudo ln -s /var/opt/gitlab/nginx/conf/gitlab-http.conf /etc/nginx/sites-available/
sudo ln -s /etc/nginx/sites-{available,enabled}/gitlab-http.conf
sudo service nginx reload

Antwort2

Was Gitlab 8 betrifft, können wir keinen symbolischen Link mehr auf die Standarddatei gitlab-http.conf erstellen, da der Bundle-Webserver nicht installiert wird, wenn wir festlegen nginx['enable'] = false.

Laden Sie einfach die richtigen Webserver-Konfigurationen herunter vonGitLab-Rezepte-Repositoryund ersetzen Sie es YOUR_SERVER_FQDNdurch Ihren bevorzugten Domänennamen.

SehenHier finden Sie detaillierte Anweisungenzur Installation von Gitlab mit einem nicht gebündelten Webserver.

Antwort3

Um sicherzustellen, dass Benutzer erreichbar sind, sollte Ihr Nginx-Benutzer (normalerweise www-data oder nginx) zur Gruppe gitlab-www hinzugefügt werden:

sudo usermod -aG gitlab-www nginx

oder

sudo usermod -aG gitlab-www www-data

Antwort4

Wenn Sie gitlab-http.conf symbolisch verknüpft haben und dann Folgendes erhalten haben:

unbekanntes Protokollformat „gitlab_access“ in /etc/nginx/sites-enabled/gitlab-http.conf

Fügen Sie einfach die log_formatAnweisungen /var/opt/gitlab/nginx/conf/nginx.confzu Ihrer globalen Nginx-Konfiguration hinzu:

http {
  ...
  log_format gitlab_access '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';
  log_format gitlab_ci_access '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';
  log_format gitlab_mattermost_access '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';
  ...
}

verwandte Informationen