Gitlab-Konfiguration Probleme:: NGINX Einhorn Port-Konflikt
Ich habe es geschafft, teilweise setup Gitlab auf einem Linux-CentOS-server mit Apache, Git, PHP, PostGreSQL und MySQL. Ich bin mit den Koch Kochbuch-version. Ich habe das rpm von hier. Ich wollte es benutzen zu verwalten mein Git repo-besser und mehr visuell und dies schien eine gute Wahl zu sein. Aber jetzt ich laufen in Probleme bekommen es zu arbeiten.
Nur damit es wirklich funktioniert, und aktualisieren Sie alle Dateien, die ich beschlossen, starten Sie erneut die Konfiguration über gitlab-ctl reconfigure
. Zweiter Lauf funktionierte:
Chef Client finished, 4 resources updated
gitlab Reconfigured!
Sehen vollständiges log
Dem hoster hatte bereits NGINX auf 8080 nicht in ein argument mit Apache läuft auf port 80, wo wir haben eine LAMPE Projekt läuft. Aber jetzt Ruby ' s Unicorn Web-Servers scheint in Konflikt mit NGINX. Ich habe mit NGINX ein wenig, nicht viel, und das ist meine erste Stich an Gitlab. Sowieso ist dieses, was ich herausgefunden, mit der Hilfe von meinem hoster.
Wenn ich log in testserver.domain.net und übergeben Sie den folgenden Befehl ein:
netstat -ln |grep 8080
Ich sehe
tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN
So etwas läuft auf 8080
Laut meinem hoster es sollte auf 0.0.0.0:8080. Und wenn wir schauen, was läuft auf diesem port sehen wir
netstat -tupln |grep 8080
tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 21627/unicorn maste
Wenn wir überprüfen Sie die Prozess-id 21627, sehen wir
cat /proc/21627/cmdline
unicorn master -E production -c /var/opt/gitlab/gitlab-rails/etc/unicorn.rb /opt/gitlab/embedded/service/gitlab-rails/config.ru
Ist ein Ruby-Prozess, und nicht ein NGINX Prozess.
So NGINX zu sein scheint, in Konflikt mit Einhorn.
Und wenn wir überprüfen Sie die Protokolle der nginx sehen wir, dass nginx nicht bekommen werde, weil dieser:
tail -f /var/log/gitlab/nginx/error.log
2014/07/28 09:43:10 [emerg] 23122#0: bind() to 0.0.0.0:8080 failed (98: Address already in use)
2014/07/28 09:43:10 [emerg] 23122#0: still could not bind()
2014/07/28 09:43:12 [emerg] 23123#0: bind() to 0.0.0.0:8080 failed (98: Address already in use)
2014/07/28 09:43:12 [emerg] 23123#0: bind() to 0.0.0.0:8080 failed (98: Address already in use)
2014/07/28 09:43:12 [emerg] 23123#0: bind() to 0.0.0.0:8080 failed (98: Address already in use)
2014/07/28 09:43:12 [emerg] 23123#0: bind() to 0.0.0.0:8080 failed (98: Address already in use)
2014/07/28 09:43:12 [emerg] 23123#0: bind() to 0.0.0.0:8080 failed (98: Address already in use)
2014/07/28 09:43:12 [emerg] 23123#0: still could not bind()
Habe ich gegoogelt Einhorn.rb und fand diese link. Ich habe auch gelesen, dass:
Einhorn ist ein HTTP-server für Rack-Anwendungen, die nur dazu dienen
schnelle Kunden, die auf niedrige Latenz, hohe Bandbreite und nehmen
Vorteil von Funktionen in Unix/Unix-like Kernel. Langsam sollten Kunden
nur bedient werden, indem ein reverse-proxy-fähig ist, voll-Pufferung
sowohl die request-und response zwischen Einhorn und langsam-clients.
Wenn ich die Datei /var/opt/gitlab/gitlab-rails/etc/unicorn.rb
ich sehe es nutzt 8080. Problem ist, dass es scheint, Einhorn sollten gemeinsam mit NGINX so, vielleicht sollte ich nicht den port ändern.
Welchem Schritt sollte ich nehmen, um Gitlab zu arbeiten? Kann Gitlab Arbeit ohne Einhorn? Ich würde denken, nicht. Sollte ich dann wählen Sie einen anderen port für Sie oder vielleicht für NGINX?
- Wenn ich geändert auf port 8888 in
/var/opt/gitlab/nginx/etc/gitlab-http.conf
und machte einen Neustart mitgitlab-ctl restart
ich habe:ok: run: nginx: (pid 3211) 0s ok: run: postgresql: (pid 3217) 0s ok: run: redis: (pid 3226) 1s ok: run: sidekiq: (pid 3232) 1s timeout: run: unicorn: (pid 21627) 94720s, got TERM
so noch kleinere Probleme, aber ich konnte auf der Website unter der domain.com:8888.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie überschreiben die ports in
/etc/gitlab/gitlab.rb
. Don ' T mess with/var/opt/gitlab/...
da keine manuelle Konfiguration verloren nach einer Neukonfiguration. Insbesondere Lesen Sie auf Die Einstellung des NGINX-Ports. Auf der Download-Seite gibt es einen Satz: Für troubleshooting-und Konfigurations-Optionen sehen Sie bitte in der Omnibus-GitLab readme. Ich Frage mich, ob das nicht von Menschen gesehen :/Wenn nicht, sollten wir es klarer.Hinzufügen zu Achsel Kommentare. Ich hatte, um es zu ändern in /var/opt/gitlab/gitlab-rails/etc/Einhorn.rb-Datei auch. Ein Neustart nachdem das klappte, wollte ich nicht verlieren meine configs. Der unicorn master war nicht Kommissionierung meine änderungen aus der /etc/gitlab/gitlab.rb-Datei auch nach mehrere Neustarts.
gitlab-ctl restart
), aber bei einem update auf eine neue version reconfigure ausgeführt wird (gitlab-ctl reconfigure
), also alle änderungen gehen verloren. Es gibt neue Dokumentation in docs.gitlab.com/omnibus/settings/...Aktualisieren Sie die /etc/gitlab/gitlab.rb-Datei.
Stellen Sie sicher, wenn Sie die Datei ändern, dass Sie die Kommentarzeichen vor der Zeile, die Sie ändern. Es ist mit Koch, also wenn der gitlab.rb-Datei ist korrekt konfiguriert, wenn Sie Sie ausführen
sudo gitlab-ctl reconfigure;
es wird aktualisieren Sie die entsprechende Datei richtig. Dannsudo gitlab-ctl restart
um die Dienste neu starten.sudo lsof -Pni |grep <port number>
ist dein Freund bei der Festlegung port-Konfliktegitlab_workhorse['auth_backend'] = "http://localhost:8080"
und diese:unicorn['port'] = 8080
. Führen Sie dannsudo gitlab-ctl reconfigure
und schließlichsudo gitlab-ctl restart
. Vielen Dank!Die Dokumentation schlägt Einstellung 'nginx['listen_port'] = 8080', aber als ich dieses Einhorn failed to bind port 8080. Ich habe die nginx-port 8888 statt und es funktionierte. Dies deutet darauf hin, dass damit der nginx auf port 8080, ist es notwendig, zu ändern Einhorn aus Standard-port von 8080 auf etwas anderes, aber ich wollte nicht zu erkunden, die Möglichkeit. Es wäre schön, wenn das Beispiel für die Einstellung der nginx-port war eine Einstellung, die Arbeit in der Standard-Konfiguration, die mine ist, sowie ich weiß - das ich nur installiert, es an diesem morgen.