Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

HTTP Error 504: Gateway Timeout

HTTP Error 504: Gateway Timeout
, by

На установленном commerse 2 начала появляться надпись:

HTTP Error 504: Gateway Timeout

The server, while acting as a gateway or proxy, did not receive a timely response from the upstream server it accessed in attempting to complete the request.

В основном, когда хочу перейти на ссылку "конфигурация".

 

Сделал восстановление из бекапа - всё исправилось.

Но после включения модуля "contact" опять тоже самое.

Подскажите,  может можно что-то сделать? (сайт на сервере, не локальный)

1 answer
votes: 1012
Answer

На серверах с nginx в качестве фронтенда и Apache в качестве бэкенда часто можно увидеть такую ошибку. Обычно это воспринимается как проблема в nginx и его начинают усердно пилить. Тем не менее, довольно часто это не совсем так.

Надо понимать, что 504 Gateway Timeout возникает, когда nginx передал клиентский запрос Apache, а Apache не смог вернуть HTTP-ответ в установленный лимит времени.

Так вот, как раз суть проблемы в том, что Apache не смог ответить. Возможно, на сайте возросла нагрузка, и при этом Apache не успевает отдавать HTTP-ответы, а новые запросы встают в очередь. Клиенты «висят» в очереди и если в установленное время их так и не успевают обслужить, соединения сбрасываются.

Чтобы решить данную проблему, надо первым делом попробовать добавить ресурсов серверу (например оперативной памяти) и увеличить количество http процессов в Apache.

Также можно - хотя это уже не настолько просто - определить, на каких страницах и какие модули могут создавать большую нагрузку, и их оптимизировать, чтобы выполнялись быстрее. Для этого уже требуется больше времени и достаточно хорошая квалификация.

Конечно же, надо еще проанализировать и хостинг. Если имеем дело с обычным виртуальным хостингом, то вероятность решения проблемы без тюнинга друпала маловероятна, поскольку доступа к настройкам самого хостинга, как правило, нету, что дали - то есть. Возможно, придется хостинг поменять.

Также, можно попробовать увеличить лимит времени, отведенный для выполнения скриптов - значение параметра PHP max_execution_time.