HAProxy, скорочення від High Availability Proxy, – це популярне програмне забезпечення з відкритим вихідним кодом, що забезпечує надійне, високопродуктивне балансування навантаження і проксування для TCP і HTTP-додатків. Воно зазвичай використовується для підвищення продуктивності та надійності веб-серверів шляхом розподілу робочого навантаження між кількома серверами. AlmaLinux 9, стабільний і безпечний дистрибутив Linux, створений на основі Red Hat Enterprise Linux, є чудовим вибором для запуску HAProxy. У цій статті ми проведемо вас через процес встановлення та налаштування HAProxy на AlmaLinux 9, що дасть вам змогу підвищити продуктивність і доступність вашого сервера.
Попередні умови
Перш ніж приступити до встановлення HAProxy на AlmaLinux 9, переконайтеся, що ваша система відповідає таким вимогам:
- Операційна система AlmaLinux 9, встановлена на вашому сервері.
- Мінімум 1 ГБ оперативної пам’яті для оптимальної продуктивності.
- Достатній дисковий простір для розміщення HAProxy і його конфігураційних файлів.
- Root-доступ або користувач із привілеями sudo.
- Як мінімум один HAProxy-сервер і два бекенд-сервери для балансування навантаження.
Крок 1: Оновлення системи AlmaLinux
Щоб забезпечити безпроблемне встановлення та безпеку вашого сервера AlmaLinux 9, дуже важливо оновити системні пакети до останніх версій. Відкрийте термінал і виконайте таку команду:
sudo dnf update
Ця команда отримає останню інформацію про пакети і оновить всі застарілі пакети до останніх версій. Після завершення процесу оновлення ви можете приступити до встановлення HAProxy.
Крок 2: Встановлення HAProxy на AlmaLinux 9
AlmaLinux 9 включає HAProxy до своїх репозиторіїв за замовчуванням, що робить процес встановлення простим. Щоб встановити HAProxy, виконайте таку команду в терміналі:
sudo dnf install haproxy
Підтвердіть установку, натиснувши ‘y’ при появі запиту. Після завершення встановлення ви можете запустити службу HAProxy і ввімкнути її автоматичний запуск під час завантаження системи за допомогою таких команд:
sudo systemctl start haproxy
sudo systemctl enable haproxy
Встановивши і запустивши HAProxy, ви можете перейти до його налаштування відповідно до ваших вимог до балансування навантаження.
Крок 3: Налаштування HAProxy
Файл конфігурації HAProxy знаходиться за адресою /etc/haproxy/haproxy.cfg. Відкрийте цей файл за допомогою бажаного текстового редактора з привілеями sudo:
sudo nano /etc/haproxy/haproxy.cfg
Глобальні налаштування та налаштування за замовчуванням
Конфігураційний файл починається з глобальних налаштувань і налаштувань за замовчуванням, які застосовуються до всіх проксі-серверів. Ви можете налаштувати ці параметри відповідно до ваших вимог. Деякі загальні налаштування включають:
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
stats timeout 30s
user haproxy
group haproxy
daemon
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
Конфігурація фронтенда
Розділ frontend визначає налаштування для вхідних клієнтських запитів. Тут ви вказуєте IP-адресу і порт, на якому HAProxy прослуховує вхідний трафік. Наприклад, щоб налаштувати HAProxy на прослуховування порту 80 для HTTP-трафіку, додайте такі рядки:
frontend http_front
bind *:80
default_backend http_back
Конфігурація бекенда
Розділ backend визначає сервери, на які HAProxy розподіляє вхідний трафік. Ви можете вказати кілька внутрішніх серверів і вибрати алгоритм балансування навантаження, наприклад, round-robin. Ось приклад конфігурації для двох внутрішніх серверів:
backend http_back
balance roundrobin
server server1 192.168.1.10:80 check
server server2 192.168.1.11:80 check
Замініть IP-адреси (192.168.1.10 і 192.168.1.11) на реальні IP-адреси ваших внутрішніх серверів.
Збережіть зміни та вийдіть із текстового редактора. Потім перезапустіть службу HAProxy, щоб застосувати нову конфігурацію:
sudo systemctl restart haproxy
Крок 4: Увімкніть ведення журналу для HAProxy
Ведення журналу необхідне для моніторингу та усунення неполадок HAProxy. Щоб увімкнути ведення журналу, вам потрібно налаштувати службу Rsyslog на захоплення журналів HAProxy. Відкрийте файл конфігурації Rsyslog:
sudo nano /etc/rsyslog.conf
Додайте такі рядки в кінець файлу:
local0.* /var/log/haproxy.log
local0.notice /var/log/haproxy-status.log
Збережіть зміни та вийдіть із редактора. Потім перезапустіть службу Rsyslog:
sudo systemctl restart rsyslog
Журнали HAProxy тепер зберігатимуться у файлі /var/log/haproxy.log, а статусні повідомлення записуватимуться у файл /var/log/haproxy-status.log.
Крок 5: Перевірка встановлення HAProxy
Щоб переконатися, що HAProxy працює правильно і балансує навантаження, ви можете перевірити статус служби HAProxy за допомогою такої команди:
sudo systemctl status haproxy
Якщо служба активна і працює, ви можете протестувати балансування навантаження, звернувшись до IP-адреси або доменного імені сервера HAProxy у веб-браузері. HAProxy розподілятиме вхідні запити між налаштованими внутрішніми серверами, використовуючи алгоритм round-robin.
Ви також можете використовувати такі інструменти, як cURL або Apache Bench, щоб відправити кілька запитів на HAProxy-сервер і спостерігати, як трафік розподіляється між внутрішніми серверами.
Крок 6: Захист HAProxy
Щоб підвищити безпеку вашої інсталяції HAProxy, рекомендується налаштувати брандмауер, щоб дозволити тільки необхідні порти і обмежити несанкціонований доступ. AlmaLinux 9 постачається зі службою брандмауера firewalld. Ви можете дозволити вхідний трафік на порт 80 (HTTP) за допомогою такої команди:
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --reload
Крім того, переконайтеся, що ваші внутрішні сервери належним чином захищені та оновлені, щоб звести до мінімуму потенційні ризики безпеки.
Усунення загальних проблем
Якщо ви зіткнулися з будь-якими проблемами під час інсталяції або налаштування HAProxy на AlmaLinux 9, ось кілька поширених проблем та їхні рішення:
- Служба HAProxy не запускається: Перевірте конфігураційний файл HAProxy на наявність синтаксичних помилок або неприпустимих налаштувань. Використовуйте команду sudo haproxy -c -f /etc/haproxy/haproxy.cfg для перевірки конфігураційного файлу.
- Внутрішні сервери не відповідають: Переконайтеся, що внутрішні сервери запущені і доступні з сервера HAProxy. Перевірте IP-адреси та порти, зазначені у файлі конфігурації HAProxy.
- HAProxy не балансує навантаження: Двічі перевірте конфігурації frontend і backend у файлі конфігурації HAProxy. Переконайтеся, що frontend прив’язаний до правильної IP-адреси та порту, а сервери backend визначені правильно.
Вітаємо! Ви успішно встановили HAProxy. Для отримання додаткової допомоги або корисної інформації ми рекомендуємо вам відвідати офіційний сайт HAProxy.