ХАПроки балансирање оптерећења између Нгинк веб сервера

У овом чланку ћемо приказати поставку планера. ХАПроки за два сервера са инсталираним веб сервером Нгинк (може га заменити Апацхе). У свим случајевима се ЦентОС користи као ОС.

ХАПроки - серверски софтвер за обезбеђивање високе доступности и балансирања оптерећења за ТЦП и ХТТП апликације, дистрибуцијом долазних захтева на неколико сервера. ХАПроки се користи на многим популарним ресурсима, укључујући Твиттер, Инстаграм, Гитхуб, Авито, Амазон и други.

ХАПроки је инсталиран на засебном серверу који прихвата захтеве клијента и преусмерава их на Нгинк веб сервере. Следи општа архитектура система.

Садржај:

  • Конфигурисање Нгинк-а на помоћним серверима
  • Конфигурација балансирајућег оптерећења ХАПроки
  • Опције конфигурационе датотеке Хапроки.цфг
  • Збирка статистике ХАПроки-а

Конфигурисање Нгинк-а на помоћним серверима

Започнимо инсталирањем и конфигурирањем Нгинк-а на нашим веб серверима, између којих ће се оптерећење уравнотежити. Инсталирајте ЕПЕЛ спремиште и сам нгинк користећи иум:

#иум инсталирајте епел-релеасе -и
#иум инсталирајте нгинк -и

Изводио сам инсталацију на два сервера одједном, будући да су сервери конфигурисани један на један (за паралелно извршавање наредби на неколико сервера можете користити пдсх).

Даље у конфигурацијским датотекама нгинк.цонф Ми истичемо да сервери треба да обрађују захтеве само од ХаПроки сервера и помоћних сервера:

1. помоћни сервер:

сервер листе цуррент_сервер_ИП: 80 дефаулт_сервер; дозволи ИП_сервер_бацкенд_сервер; дозволи ИП_хапроки; занијекати све; сервер_наме _; роот / уср / схаре / нгинк / хтмл; # Учитајте конфигурацијске датотеке за подразумевани блок сервера. укључују /етц/нгинк/дефаулт.д/*.цонф; локација /  

2. помоћни сервер:

сервер листе цуррент_сервер_ИП: 80 дефаулт_сервер; дозволи ИП_фирст_бацкенд_сервер; дозволи ИП_хапроки; занијекати све; сервер_наме _; роот / уср / схаре / нгинк / хтмл; # Учитајте конфигурацијске датотеке за подразумевани блок сервера. укључују /етц/нгинк/дефаулт.д/*.цонф; локација /  

Конфигурација нгинк је стандардна, коју смо управо додали слушајте ИП сервере и затворени приступ свима осим нашим серверима који користе директиве допустити и занијекати.

Да би веб сервер радио, морате да отворите везе на фиревалл-у преко фиреваллд-а или иптабле-а:

# фиревалл-цмд - стални -адд-сервице = хттп
# фиревалл-цмд -релоад

Извршите проверу на било ком од помоћних сервера:

[роот @ сервер ~] # цурл Сецонд_Сервер_ИП

 овде би требало да добијете хтмл документ 

Сервер је дао стандардни индекс нгинк датотеке, што значи да сервери међусобно делују.

Ради лакшег проверавања, променио сам садржај индекс датотеке на сваком помоћном серверу, тако да током тестирања могу јасно да видим у прегледачу који сервер је обрадио захтев.

Датотека индекса нгинк налази се у / уср / схаре / нгинк / хтмл /.

Конфигурација ХАПроки балансатора оптерећења

Почнимо инсталирати и конфигурирати ХАПроки на серверу, који ће се користити као баланс оптерећења.

Инсталирајте ХаПроки и извршите основне поставке за баланс.

#иум инсталирајте епел-релеасе -и

#иум инсталирајте хапроки -и

Учитани додаци: најбржи миррор Учитавање брзина огледала из предмеморираног датотеке е-поште / к86_64 / металинк ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ трчање трансакција Инсталација: хапроки-1.5.18-9.ел7.к86_64 1/1 Верификација: хапроки-1.5.18-9.ел7.к86_64 1/1 Инсталирано: хапроки.к86_64 0: 1.5.18-9.ел7 Цомплете! 

Да бисте омогућили ХаПроки, морате да додате Омогућено = 1 да поднесем / етц / дефаулт / хапроки:

#нано / етц / дефаулт / хапроки

Сада пређимо на само подешавање ХаПроки-а. У нашој најједноставнијој конфигурацији, балансирајући сервер ће обрадити све хттп захтеве и послати их редом на помоћне сервере.

#нано /етц/хапроки/хапроки.цфг

лог / дев / лог лоцал0 цхроот / вар / либ / хапроки пидфиле /вар/рун/хапроки.пид макцонн 4000 корисник хапроки група хапроки даемон задане поставке хттп лог глобална опција хттплог опција редиспатцх ретриес 3 тимеоут хттп-захтјев 10с тимеоут куеуе 1м тимеоут цоннецт 10с тимеоут клијент 1м тимеоут сервер 1м тимеоут хттп-Кееп-Ливе 10с тимеоут цхецк 10с макцонн 3000 фронтенд ввв бинд баланцер ИП: 80 дефаулт_бацкенд нгинк_поол бацкенд нгинк_поол баланце роундробин моде хттп сервер веб1 фирст_бацкенд_сервер ИП: 80 цхецк сервер веб2 80 сецонд_бацкенд_сервер: 

Након што сачувате конфигурацију, проверите синтаксу помоћу команде:

#хапроки -ф /етц/хапроки/хапроки.цфг -ц

Ако је све у реду, добићете сличан резултат:

Конфигурациона датотека је важећа

Након тога, морате поново покренути ХаПроки и додати његово покретање ЦентОС. А такође отворите потребна правила о заштитном зиду.

#системцтл поново покрените хапроки

#системцтл омогућују хапроки

# фиревалл-цмд -перманентни -адд-сервице = хттп

# фиревалл-цмд -релоад

Овим се завршава подешавање баланса, проверите резултат отварањем ИП сервера са ХаПроки у прегледачу:

Као што видите, оба сервера испоручила су садржај заузврат, баланс ради.

Опције конфигурационе датотеке Хапроки.цфг

Размотримо главне примере алгоритама рада ХаПроки:

  • роундробин - подразумевани алгоритам шаље заузврат захтеве серверима. У нашем примјеру користили смо управо такву методу;
  • лессцонн - бира сервер са најмање бројем активних веза. Препоручује се пријава за пројекте у којима седнице могу бити укључене дуже време;
  • извор - бира сервер на основу хасх-а изграђен на основу ИП корисника. У овом режиму рада, исти клијент ће увек приступити истом серверу ако његов ИП остане непромењен;

Идемо кроз неке параметре у конфигурацијској датотеци.

Блокирај глобално:

  • дневник - чувајте пријаву / дев / лог чувајући лоцал0 у "објекту";
  • цхроот - сигурносна подешавања која закључавају ХАПроки у специфицираном директорију;
  • макцонн - максимални број конкурентских веза по процесу;
  • корисник - корисник у име кога ће се програм покренути;
  • група - корисничка група у име које ће се програм покренути;
  • даемон - започните процес као демон.

Блокирај подразумевано. Овај одељак описује подразумевана подешавања за све остале одељке који га прате:

  • записник - означава који дневник треба снимити (у овом случају глобално значи да се користе параметри наведени у глобалном одељку);
  • режим - поставља протокол интеракције, узима једну од вриједности: тцп, хттп или здравље;
  • покушаји - број покушаја повезивања са сервером у случају квара;
  • опција хттплог - формат дневника, у случају да се ХАПроки користи за приближавање ХТТП захтевима;
  • опција редиспатцх - Омогућује програму да прекине и поново додијели сесију у случају квара на послужитељу;
  • цонтимеоут - максимално време да се чека успешна веза са сервером.

Такође постоји велики број параметара повезаних са различитим временским ограничењима.

Збирка статистике ХАПроки-а

Додајте блок статистике у конфигурациону датотеку:

листе статс листе: 10001 статс омогућују статистику ури / хапроки_статс статистика аутх админ: админ 

Опис:

  • везати - порт на коме ће радити преглед статистике;
  • статистика омогућити - укључују извештаје са статистикама;
  • статистика ури - постављање адресе странице са статистикама;
  • статистика аутх - пријава и лозинка.
Можете одредити било који порт који је прикладан за вас ако је наведено у чланку заузето или није погодно за вас.

Такође, да би наши хапроки_статс радили, морате да отворите претходно наведени улаз на ватрозиду:

фиревалл-цмд - стални -адд-порт = 10001 / тцп

фиревалл-цмд -релоад

Да бисте видели извештаје о раду ХАПроки-а, кликните на везу:

хттп: // хостнаме_хапроки: 10001 / хапроки_статс

Отворите адресу балансатора у прегледачу и започните нежељену пошту Ф5. Статистика на наведеном линку се мења, услужни програм ради.

Овим се завршава наше подешавање. У чланку смо испитали основну конфигурацију ХаПроки-а. У нашем дизајну, ХаПроки сервер за уравнотежење оптерећења постаје једна тачка грешке. Да бисте повећали толеранцију грешке у конфигурацији, можете додати други ХаПроки сервер и проверити доступност између сервера користећи Кеепаливед. Добивате овако нешто.

Постоји много више опција за коришћење ХАПроки модула и увек можете пронаћи апликацију у њему..