Запуск двух экземпляров haproxy на одной машине

2259
Shiran Maor

У меня работает haproxy на компьютере A. Как я могу создать еще один экземпляр? (имея собственный файл конфигурации). Я попытался сделать копию haproxy в / etc / с другим именем и добавил его в init.d, что это не работает, какие-нибудь идеи?

-1

2 ответа на вопрос

1
tobias

Вы должны сделать копию вашего /etc/haproxy/haproxy.cfg.

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

Убедитесь, что у вас нет конфликтующих портов для интерфейсов в этой копии. На этом этапе вы можете запустить haproxy вручную, введя следующую команду.

/usr/sbin/haproxy -D -f /etc/haproxy/haproxy_s.cfg -p /var/run/haproxy_s.pid 
  • -D запустит haproxy в режиме демона
  • -f это путь к файлу конфигурации
  • -p это путь к pidfile

Если вы хотите запустить новый экземпляр haproxy через скрипт init или загрузить его во время загрузки системы, вам сначала нужно сделать копию скрипта init.

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

В дополнение к этому вам нужно создать символическую ссылку на двоичный файл haproxy.

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

После этого вам нужно внести следующие изменения в /etc/init.d/haproxy_s

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

Я протестировал эту конфигурацию на моей установке RHEL 6. Должна быть возможность портировать решение на другие дистрибутивы Linux с небольшими изменениями, если эти дистрибутивы используют систему init.

0
Matt Clark

What did not work about it? Errors? Anything in the logs?

What you will need to do is copy the config file, and make some changes.

Once a port is bound by a service, that same port can not be bound by anohter until release. You will need to change your port bindings in the new config file, and then launch it specifying that new config file with -f.

ничего в логах. Я не хочу связываться с тем же портом. Один экземпляр haproxy будет привязан к 443, а другой - к 9090 Shiran Maor 8 лет назад 0
Вы говорите, что это не сработало, а что с этим не сработало? Если он не запустится, где-то будет ** ошибки **. Matt Clark 8 лет назад 0
Я создал копию int / etc /, назовите ее "haproxy_s". также создал его копию в init.d. изменил свой конфигурационный файл на haproxy_s.cfg. что-нибудь еще, что я должен сделать? Shiran Maor 8 лет назад 0

Похожие вопросы