
몇 개의 haproxy 인스턴스를 실행해야 하며 두 번째 명령/인스턴스를 추가하려면 haproxy.service 파일을 업데이트해야 합니다. Google에서는 동일한 ExecStart= 옵션에 두 번째 명령을 세미콜론으로 구분하여 추가하도록 안내했지만 작동하지 않았습니다.
다음은 추가 명령을 사용하여 두 번째 ExecStart=를 추가할 수 있다고 생각하게 했지만 이 역시 작동하지 않았습니다.http://www.freedesktop.org/software/systemd/man/systemd.service.html
systemd 서비스를 통해 두 개의 haproxy 인스턴스를 실행하려면 어떻게 해야 합니까?
원래 명령
ExecStart=/usr/local/sbin/haproxy-systemd-wrapper -f /etc/haproxy.conf -p /var/run/haproxy.pid
새로운 명령
ExecStart=/usr/local/sbin/haproxy-systemd-wrapper -f /etc/haproxy.conf -p /var/run/haproxy.pid; ExecStart=/usr/local/sbin/haproxy-systemd-wrapper -f /etc/haproxy2.conf -p /var/run/haproxy2.pid
두 번째 시도
ExecStart=/usr/local/sbin/haproxy-systemd-wrapper -f /etc/haproxy.conf -p /var/run/haproxy.pid
ExecStart=/usr/local/sbin/haproxy-systemd-wrapper -f /etc/haproxy2.conf -p /var/run/haproxy2.pid
업데이트: 이것은 서비스 haproxy 상태에서 얻은 것입니다.
[root@lb01 ~]# service haproxy status
Redirecting to /bin/systemctl status haproxy.service
haproxy.service - HAProxy Load Balancer
Loaded: loaded (/usr/lib/systemd/system/haproxy.service; enabled)
Active: inactive (dead) since Fri 2015-10-30 16:35:44 GMT; 6s ago
Process: 3221 ExecStart=/usr/local/sbin/haproxy-systemd-wrapper -f /etc/haproxy.conf -p /var/run/haproxy.pid; /usr/local/sbin/haproxy-systemd-wrapper -f /etc/haproxy2.conf -p /var/run/haproxy2.pid (code=exited, status=0/SUCCESS)
Main PID: 3221 (code=exited, status=0/SUCCESS)
Oct 30 16:48:01 lb01 systemd: Started HAProxy Load Balancer.
Oct 30 16:48:01 lb01 haproxy-systemd-wrapper: Usage : haproxy [-f <cfgfile>]* [ -vdVD ] [ -n <maxconn> ] [ -N <maxpconn> ]
Oct 30 16:48:01 lb01 haproxy-systemd-wrapper: [ -p <pidfile> ] [ -m <max megs> ] [ -C <dir> ]
haproxy가 세미콜론과 추가 명령을 매개변수로 읽는 것 같나요?
답변1
서로 다른 haproxy 인스턴스가 관련되어 있지 않은 경우 가장 간단한 솔루션은 기존 장치를 그대로 사용하고 필요한 추가 서비스를 위해 두 번째 인스턴스를 만드는 것입니다.
단위 파일을 복사하고 ExecStart
두 번째 구성 파일을 가리키도록 옵션을 편집합니다.
이러한 서비스를 더 많이 시작할 것으로 예상되는 경우systemd의 템플릿 기능.
기존 유닛의 복사본으로 유닛을 생성 하고 지정자를 사용하여 관련 구성 파일을 가리킵니다./etc/systemd/system/[email protected]
%i
(haproxy를 모르기 때문에 불완전합니다.
[Unit]
Description=haproxy %i
[Service]
ExecStart=/usr/local/sbin/haproxy-systemd-wrapper -f /etc/haproxy%i.conf -p /var/run/haproxy%i.pid
그런 다음 다음을 사용하여 haproxy 인스턴스를 활성화할 수 있습니다.
systemctl enable haproxy@X
X
인스턴스 번호(및 일치하는 구성 파일)는 어디에 있습니까?
인스턴스가 관련되어 있으면 내 질문과 답변을 볼 수 있습니다.사용자 정의 서비스와 함께 리스너 서비스를 시작 및 중지하는 방법