Haproxy - прокси сървър, linuxspace

High Availability Proxy или HAProxy - популярен прокси сървър за Linux, Solaris и FreeBSD с балансиране на натоварването TCP / HTTP с отворен код. Неговата основна задача - сървърна среда, увеличаване на производителността чрез разпределяне на натоварването между няколко сървъра (уеб, приложение, база данни). Те са такива известни проекти като GitHub, Imgur, Instagram и Twitter.

HAProxy наличен в хранилищата на повечето Linux дистрибуции. Ако имате FreeBSD потребител. следното ще бъдат снабдени с необходимите портове. Можете също така да зададете HAProxy чрез пакетния мениджър.

  • За DEB-базирани дистрибуции, като Debian и на Ubuntu, изпълнете следната команда:

$ Ап-да инсталирате haproxy

  • За RPM базирани дистрибуции, като Red Hat, Fedora и CentOS, изпълнете следната команда:

$ Sudo Yum инсталирате haproxy

  • За SUSE-базирани дистрибуции, като SUSE Linux Enterprise и OpenSUSE, изпълнете следната команда:

$ Sudo zypper инсталирате haproxy

  • За FreeBSD и други подобни операционни системи, HAProxy може да се инсталира от колекцията на пристанища и пътя към него следното: / ЮЕсАр / пристанища / нето / haproxy. Освен това, можете да го инсталирате с помощта на мениджъра на пакети:

$ Sudo PKG инсталирате нето / haproxy

Това ще настрои HAProxy на вашата система. В този случай, ако командата за вашата дистрибуция или операционна система не работи, проверете документацията на вашата система или хранилище за HAProxy правилна инсталация.

конфигурационни параметри за HAProxy конфигурирани с помощта haproxy.cfg файл. Тази команда за настройка обикновено се поставя файла в директорията / и т.н. / haproxy /, но този подход може да бъде много по-различна (това зависи от вашата операционна система).

За да конфигурирате HAProxy да работи с Галера клъстер, добавете следните редове към haproxy.cfg конфигурационния файл.

# Балансиране на натоварването за Галера Cluster
слушате Галера 192.168.1.10:3306
източник баланс
режим на TCP
опция tcpka
опция MySQL проверка потребителското haproxy
сървъра node1 192.168.1.1:3306 проверка тегло 1
сървъра node2 192.168.1.2:3306 проверка тегло 1
сървъра node2 192.168.1.3:3306 проверка тегло 1

  • баланс определя политиката за избор на дестинация, което е, на сървъра трябва да разпространява входящи връзки.
  • Режим на TCP определя типа на връзки, които трябва да разпределят. Галера Cluster използва TCP връзки.
  • опция tcpka включва активна функция за поддържане на връзка TCP.
  • опция потребител MySQL проверка Определя дали да се провери сървъра на базата данни, за да се определи дали възелът е активна в момента.
  • сървър провери тегло от 1 predelyaet възли HAProxy са необходими за бъдещата им употреба в маршрутизация връзки.

политически избор на дестинация

Когато HAProxy получава нова връзка, има редица алгоритми, с които той избира къде да изпратите този линк. Този алгоритъм е избран параметър баланс, който е описан по-горе.

В горния пример конфигурация HAProxy конфигуриран да използва политиката за избор на източник на сигнал. За вашите собствени приложения. изберете правило, което работи най-добре с инфраструктурата и товара.

проверка на базата данни на сървъра

В допълнение към маршрутите TCP връзки, за да Галера клъстер. HAProxy също могат да изпълняват основни здравни проверки в базата данни на сървъра. Ако това е позволено, а след това HAProxy като се опита да се свърже с възел и анализира получената реакция или грешка да се определи дали възелът работи. Можете да активирате тази функция, като се използва MySQL-проверка. Въпреки това, той изисква от вас да създадете потребител в HAProxy клъстер. която ще се използва при свързване.

$ Създаване на потребител "haproxy'@'192.168.1.10";

След установяване на HAProxy и компоненти, за да започнете работа с HAProxy трябва да го изпълнява на сървър. За сървъри. използване първоначален, изпълнете следните команди:

старт $ Service haproxy

За сървъри. използване systemd, тече друга команда:

$ Systemctl започне haproxy

Сега HAProxy работи. Когато нови връзки се обръщат към този сървър, той ги изпраща чрез възли в клъстера.

Като пример, голям спред конфигурационен файл:

# -----------------------
# Глобални настройки
# -----------------------
в световен мащаб
влезте 127.0.0.1 local2
Chroot / Var / ПЬ / haproxy
pidfile /var/run/haproxy.pid
MAXCONN 4000
потребителското haproxy
група haproxy
демон
статистики цокъл / VAR / ИЪ / haproxy / статистика
по подразбиране
влезете в световен мащаб
опитва отново 2
режим на HTTP
изчакване свържете 30000
изчакване на сървъра 50000
изчакване на клиента 50 000
слушате myql_cluster 0.0.0.0:3306
източник баланс
режим на TCP
опция tcpka
сървъра node1 85.34.56.45 проверка тегло 1
сървъра node2 85.34.56.45 проверка тегло 1
сървъра node2 85.34.56.45 проверка тегло 1
слушате статистика *: 1936
статистики позволяват
Статистики на URI /
Скриване на статистиката-версия
статистики за упълномощаване администратор: MakeAmericaGreatAgain