Gitlab-Konfigurationsprobleme :: NGINX Unicorn Port Conflict

7

Ich habe es geschafft, Gitlab auf einem Linux CentOS-Server mit Apache, Git, PHP, PostGreSQL und MySQL einzurichten. Ich betreibe die Kochbuch-Version . Ich habe die Drehzahl von hier . Ich wollte damit meinen Git Repo besser und visueller verwalten und das schien eine gute Wahl zu sein. Aber jetzt stoße ich auf Probleme, die es zum Laufen bringen.

Damit es wirklich funktioniert und alle Dateien aktualisiert werden, habe ich mich entschieden, die Konfiguration mit gitlab-ctl reconfigure erneut auszuführen. Der zweite Lauf hat funktioniert:

%Vor%

Siehe vollständiges Protokoll

Der Hoster hatte bereits NGINX auf 8080 gesetzt, aber Apache läuft nicht auf Port 80, wo ein LAMP-Projekt läuft. Aber jetzt scheint Rubys Unicorn Web Server mit NGINX zu kollidieren. Ich habe ein wenig mit NGINX gearbeitet, nicht viel und das ist mein erster Stich bei Gitlab. Jedenfalls habe ich das mit Hilfe meines Hoster herausgefunden.

Wenn ich mich bei testserver.domain.net anmelde und den folgenden Befehl übergebe:

netstat -ln |grep 8080 Ich sehe

%Vor%

Also läuft etwas auf 8080 Laut meinem Hoster sollte es auf 0.0.0.0:8080 laufen. Und wenn wir überprüfen, was an diesem Port läuft, sehen wir

%Vor%

Wenn wir die Prozess-ID 21627 überprüfen, sehen wir

%Vor%

Das ist ein Ruby-Prozess und kein NGINX-Prozess.

Also scheint NGINX mit Unicorn zu kollidieren.

Und wenn wir die Protokolle von nginx überprüfen, sehen wir, dass nginx aus diesem Grund nicht starten kann:

%Vor%

Ich habe Unicorn.rb gegoogelt und diesen Link gefunden. Ich habe auch gelesen:

  

Unicorn ist ein HTTP-Server für Rack-Anwendungen, die nur dazu dienen, zu dienen   Schnelle Clients bei Verbindungen mit niedriger Latenz und hoher Bandbreite   Vorteil von Features in Unix / Unix-ähnlichen Kernen. Langsame Clients sollten   nur bedient werden, indem man einen Reverse-Proxy platziert, der vollständig zwischenspeichern kann   sowohl die Anfrage als auch die Antwort zwischen Unicorn und langsamen Clients.

Wenn ich die Datei /var/opt/gitlab/gitlab-rails/etc/unicorn.rb überprüfe, sehe ich, dass sie 8080 benutzt. Problem ist, dass Unicorn mit NGINX zusammenarbeiten sollte, also sollte ich vielleicht den Port nicht ändern.

Welchen Schritt soll ich machen, um Gitlab zum Laufen zu bringen? Kann Gitlab ohne Unicorn arbeiten? Ich würde nicht denken. Soll ich dann einen anderen Port dafür oder vielleicht für NGINX auswählen?

    
rhand 29.07.2014, 09:17
quelle

4 Antworten

9

Sie sollten die Ports in /etc/gitlab/gitlab.rb überschreiben. Verwechsle nicht mit /var/opt/gitlab/... , da eine manuelle Konfiguration nach einer Rekonfiguration verloren geht. Insbesondere lesen Sie den NGINX Listenport einstellen . Auf der Download-Seite gibt es einen Satz: Informationen zur Fehlerbehebung und zu den Konfigurationsoptionen finden Sie in der Omnibus GitLab Readme . Ich frage mich, ob dies von den Leuten nicht gesehen wird: / Wenn nicht, sollten wir es klarer machen.

    
axil 30.07.2014, 11:49
quelle
8

Um Axil's Kommentare hinzuzufügen. Ich musste es auch in der Datei /var/opt/gitlab/gitlab-rails/etc/unicorn.rb ändern. Ein Neustart danach hat funktioniert, ich habe meine Konfiguration nicht verloren. Der Einhorn-Master hat meine Änderungen aus der Datei /etc/gitlab/gitlab.rb auch nach mehreren Neustarts nicht ausgewählt.

    
Akarsh 14.08.2015 22:18
quelle
2

Sie sollten die Datei /etc/gitlab/gitlab.rb aktualisieren.

Achten Sie darauf, wenn Sie die Datei ändern, die Sie aus der Zeile entfernen, die Sie ändern. Wenn Sie die Datei gitlab.rb korrekt konfigurieren, wenn Sie sudo gitlab-ctl reconfigure; ausführen, wird die entsprechende Datei ordnungsgemäß aktualisiert. Dann sudo gitlab-ctl restart , um die Dienste neu zu starten.

sudo lsof -Pni |grep <port number> ist Ihr Freund bei der Bestimmung von Portkonflikten

    
zeusAlmighty 17.05.2016 22:18
quelle
0

Die Dokumentation schlägt vor, 'nginx [' listen_port '] = 8080', aber wenn ich das gemacht habe, konnte der Einhorn Port 8080 nicht binden. Ich setzte den nginx Port stattdessen auf 8888 und es funktionierte. Dies legt nahe, dass, um den nginx-Port auf 8080 zu setzen, das Einhorn vom Standard-Port 8080 auf etwas anderes geändert werden muss, aber ich habe diese Möglichkeit nicht untersucht. Es wäre schön, wenn das Beispiel für die Einstellung des Nginx-Ports eine Einstellung wäre, die in der Standardkonfiguration funktionieren würde, die meines ist, so wie ich weiß - ich habe es nur heute Morgen installiert.

    
Ian 29.06.2016 00:47
quelle

Tags und Links