systemd サービスと複数の haproxy インスタンス

systemd サービスと複数の haproxy インスタンス

haproxyの複数のインスタンスを実行し、haproxy.serviceファイルを更新して2番目のコマンド/インスタンスを追加する必要があります。 Googleは、同じExecStart =オプションにセミコロンで区切られた2番目のコマンドを追加するように指示しましたが、うまくいきませんでした。

以下は、追加のコマンドを使用して2番目のExecStart =を追加できると思いましたが、それも機能しません。http://www.freedesktop.org/software/systemd/man/systemd.service.html

systemdサービスを介して2つの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

2回目の試み

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

更新:これはサービスのハプロキシ状態で得られた情報です。

[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インスタンスが関連付けられていない場合、最も簡単な解決策は既存のユニットをそのまま使用し、必要な追加サービス用の2番目のユニットを作成することです。

デバイスファイルをコピーし、ExecStart2番目の設定ファイルを指すようにオプションを編集します。

これらのサービスをさらに起動すると予想される場合は、次のものを使用することをお勧めします。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インスタンス(および一致するプロファイル)の番号はどこにありますか?

インスタンスが関連している場合は、私の質問と回答を確認できます。カスタムサービスでリスナーサービスを開始および停止する方法

おすすめ記事