Съдържание
- 504 Грешка с изтичане на времето на шлюза: превод и общо разбиране
- 504 Грешка с изтичане на времето на шлюза: отстраняване на хардуерни проблеми на сървъри
- Коригиране на грешката с най-простия софтуерен метод в уебсайтовете
- Проблеми с изпълнението на скриптове
- Грешка при използване на Joomla
- Допълнителни съвети за собствениците на уебсайтове
504 Gateway Time-out грешка при опит за достъп до определен интернет ресурс се счита за една от най-често срещаните. В този случай обаче потребителят, от чийто компютър е направена заявката към страницата, практически няма какво да направи (може да се наложи да актуализира версията на браузъра или да премине към друг браузър). Но собствениците на сървъри и сайтове, хоствани на определени хостинг услуги, могат да се сблъскат с този проблем доста често. Нека разгледаме накратко причините за тази грешка? и да дадете някои практически съвети как да се справите с повтаряща се грешка.
504 Грешка с изтичане на времето на шлюза: превод и общо разбиране
За да разберем напълно за какво става дума, първо трябва ясно да разберем естеството на грешката. Ако предложим на нашите читатели проста интерпретация на грешката 504 Gateway Time-out, преводът може да се отнася приблизително до нещо като изтекъл gateway time-out. Но това важи само ако времето за отговор на ресурса е надхвърлено при достъп до заявената страница. С други думи, заявката от отдалечен компютър към даден ресурс преминава без проблеми, но сървърът няма време да обработи заявката и да изпрати обратния http-отговор в рамките на определеното време.
Обяснете това с прост пример за сървър Apache, инсталиран като бекенд, и nginx, действащ като фронтенд. 504 Gateway Time-out при отговор в такава двойка се появява най-често. Схемата работи по следния начин.

Заявката на клиента към сървъра не се изпраща директно към Apache, а първо преминава през nginx (нещо като диспенсър). Ако сървърът на Apache не успее да обработи заявка и да изпрати отговор за определеното време, nginx при липса на Отговорът генерира тази грешка. Като цяло почти всички версии на сървъра Apache се отличават с това, че не разполагат с достатъчно висока скорост на заявките. Освен това работата им може да бъде повлияна от огромния брой активни в момента процеси на трети страни и изпълними скриптове, чиято работа също може да се провали.
504 Грешка с изтичане на времето на шлюза: отстраняване на хардуерни проблеми на сървъри
Нека сега преминем от теорията към практиката и да се опитаме, доколкото е възможно, да отстраним този неприятен провал.

Обикновено експертите препоръчват на собствениците на сървъри в най-простата ситуация да използват най-простата методология за грешка 504 Gateway Time-out, която включва увеличаване на мощността на хардуера, за да се подобри производителността на компютъра. Можете да се опитате да увеличите количеството оперативна памет на сървъра, да инсталирате по-нови процесори и т.н. д.
Коригиране на грешката с най-простия софтуерен метод в уебсайтовете
Що се отнася до самите страници и хостинга, на който могат да бъдат разположени, когато използвате връзки Apache + nginx, първото нещо, което трябва да опитате, е да увеличите броя на процесите httpd директно на сървъра Apache. Възможно е да се приложи и по-интелигентно решение. Както беше споменато по-горе, сървърът няма достатъчно време да обработи заявката и дистрибуторът изпраща грешка 504 Gateway Time-out вместо отговор. Променете параметъра max_execution_time на PHP на по-голям интервал от време (например около 500-700 сек.).

Препоръчва се също така да проверите всички активни процеси на трети страни и да деактивирате тези, които просто не са необходими. Особено внимание трябва да се обърне на SQL заявките и изпълнимите скриптове.
Проблеми с изпълнението на скриптове
И при скриптовете въпросът не е толкова прост.

Грешките обикновено се дължат на факта, че скриптовете могат да получат достъп до данни на сайта или външни бази данни, които в даден момент не са налични, и да получат отговор, отново не навреме. Често причината за неуспеха на 504 Gateway Time-out може да е опит за свързване с прокси сървър, който не може да обработи входящата заявка и да изпрати отговор. И накрая, не забравяйте, че достъпът до данни често може да бъде блокиран от процеси на трети страни (например аплети за времето, уиджети за текущи валутни курсове и др.). д.). Следователно е необходимо да се оптимизира тяхното прилагане.
Грешка при използване на Joomla
И накрая, грешката 504 Gateway Time-out в Joomla най-често се появява тривиално поради факта, че самата система за управление се актуализира постоянно, което не е най-добрият начин да се повлияе на нейното функциониране. Например, много експерти отбелязват, че модификацията "кутия" на Joomla 3 трябва да се оптимизира чрез инсталиране на допълнителни модули и плъгини. Но надграждането на самата система до версия 3.6.5 може да предизвика конфликти с кода на инсталираните наследени добавки, което води до забавяне на сървъра и поява на описаната грешка. Съответно всички добавки също трябва да се актуализират (въпреки че следенето на автоматичните актуализации на самата Joomla е много проблематично).
Можете също така да направите копие на целия сайт, като създадете нова директория в корена и поставите копия на всички файлове там. След това създайте копие на базата данни и запишете нейната конфигурация (Configuration.php).

Сега отидете в администраторския раздел на Joomla, след което в раздела за плъгини последователно деактивирайте добавките, като започнете с тези, които са били инсталирани последно. Възможно е някой от тези плъгини да причинява проблема. Например някои са съобщили, че плъгинът JSitemap Pingomatic много често причинява грешката.
Допълнителни съвети за собствениците на уебсайтове
Ако просто притежавате уебсайт и го хоствате на определен хостинг, но нито едно от горните предложения не отстранява проблема, може би е време да помислите сериозно за смяна на доставчика на хостинг, който не е в състояние да ви осигури нормална техническа поддръжка.