504 Gateway time-out: какво представлява тази грешка и как да се отървете от нея?

504 Gateway Time-out грешка при опит за достъп до определен интернет ресурс се счита за една от най-често срещаните. В този случай обаче потребителят, от чийто компютър е направена заявката към страницата, практически няма какво да направи (може да се наложи да актуализира версията на браузъра или да премине към друг браузър). Но собствениците на сървъри и сайтове, хоствани на определени хостинг услуги, могат да се сблъскат с този проблем доста често. Нека разгледаме накратко причините за тази грешка? и да дадете някои практически съвети как да се справите с повтаряща се грешка.

504 Грешка с изтичане на времето на шлюза: превод и общо разбиране

За да разберем напълно за какво става дума, първо трябва ясно да разберем естеството на грешката. Ако предложим на нашите читатели проста интерпретация на грешката 504 Gateway Time-out, преводът може да се отнася приблизително до нещо като изтекъл gateway time-out. Но това важи само ако времето за отговор на ресурса е надхвърлено при достъп до заявената страница. С други думи, заявката от отдалечен компютър към даден ресурс преминава без проблеми, но сървърът няма време да обработи заявката и да изпрати обратния http-отговор в рамките на определеното време.

Обяснете това с прост пример за сървър Apache, инсталиран като бекенд, и nginx, действащ като фронтенд. 504 Gateway Time-out при отговор в такава двойка се появява най-често. Схемата работи по следния начин.

Най-простият принцип на работа на двойката Apache + nginx

Заявката на клиента към сървъра не се изпраща директно към 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 3

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

Допълнителни съвети за собствениците на уебсайтове

Ако просто притежавате уебсайт и го хоствате на определен хостинг, но нито едно от горните предложения не отстранява проблема, може би е време да помислите сериозно за смяна на доставчика на хостинг, който не е в състояние да ви осигури нормална техническа поддръжка.

Статии по темата