Ausführen von zwei Instanzen von haproxy auf derselben Maschine

2497
Shiran Maor

Ich habe auf Maschine A haproxy ausgeführt. Wie kann ich eine andere Instanz davon erstellen? (hat eine eigene Konfigurationsdatei). Ich habe versucht, eine Kopie von haproxy in / etc / mit einem anderen Namen zu erstellen und es zu init.d hinzuzufügen. Was hat nicht funktioniert, irgendwelche Ideen?

-1

2 Antworten auf die Frage

1
tobias

Sie müssen eine Kopie Ihrer /etc/haproxy/haproxy.cfg erstellen.

cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy_s.cfg 

Stellen Sie sicher, dass in dieser Kopie keine widersprüchlichen Ports für die Frontends vorhanden sind. An diesem Punkt können Sie haproxy manuell starten, indem Sie den folgenden Befehl ausgeben.

/usr/sbin/haproxy -D -f /etc/haproxy/haproxy_s.cfg -p /var/run/haproxy_s.pid 
  • -D startet haproxy im Daemon-Modus
  • -f ist der Pfad zur Konfigurationsdatei
  • -p ist der Pfad zur PID-Datei

Wenn Sie die neue Instanz von haproxy über das Init-Skript starten oder während des Systemstarts laden möchten, müssen Sie zuerst eine Kopie des Init-Skripts erstellen.

cp /etc/init.d/haproxy /etc/init.d/haproxy_s 

Zusätzlich müssen Sie einen symbolischen Link zur Binärdatei von haproxy erstellen.

ln -s /usr/sbin/haproxy /usr/sbin/haproxy_s 

Danach müssen Sie die folgenden Änderungen an /etc/init.d/haproxy_s vornehmen

exec="/usr/sbin/haproxy_s" cfgfile=/etc/haproxy/haproxy_s.cfg pidfile=/var/run/haproxy_s.pid lockfile=/var/lock/subsys/haproxy_s 

Ich habe diese Konfiguration bei meiner RHEL 6-Installation getestet. Es sollte möglich sein, die Lösung mit geringfügigen Änderungen auf andere Linux-Distributionen zu portieren, solange diese Distributionen das init-System verwenden.

0
Matt Clark

Was hat daran nicht funktioniert? Fehler Irgendetwas in den Protokollen?

Sie müssen die Konfigurationsdatei kopieren und einige Änderungen vornehmen.

Sobald ein Port an einen Dienst gebunden ist, kann dieser Port bis zur Freigabe nicht mehr an einen anderen gebunden werden. Sie müssen Ihre Port-Bindungen in der neuen Konfigurationsdatei ändern und anschließend mit der neuen Konfigurationsdatei starten -f.

nichts in den Protokollen. Ich möchte nicht mit demselben Port verbinden. Eine Instanz von Haproxy bindet an 443 und die andere an Port 9090 Shiran Maor vor 8 Jahren 0
Sie sagen, _es hat nicht funktioniert _, ​​was hat nicht funktioniert ...? Wenn es nicht startet, werden irgendwo ** Fehler auftreten. Matt Clark vor 8 Jahren 0
Ich habe eine Kopie int / etc / name erstellt "haproxy_s". eine Kopie davon auch in init.d erstellt. Die Konfigurationsdatei wurde in haproxy_s.cfg geändert. etwas anderes was du tun solltest? Shiran Maor vor 8 Jahren 0