Исправляем 504 Gateway Time-out в NGINX
Обычно ошибка "504 Gateway Time-out" возникает, если в связке nginx + apache2 , бекэнд (apache2) перестает отвечать. Обычно это может быть связано с долгой отработкой скрипта, если выполняется "тяжелый" скрипт, либо скрипт работает некорректно и зависает во время исполнения.
Решением является увеличение времени соединения/ожидания
В файле настроек /etc/nginx/nginx.conf добавляем:

server {
...
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
...
}
После правок релодим сервис:
service nginx reload
В нашем случае nginx будет ожидать 600 секунд ответа от Apache2
В большинстве случаев это является костылем, т.к. нужно править скрипт и выяснять почему скрипт некорректно работает, кроме случаев если заведомо известно, что выполняется тяжелый скрипт и на его обработку требуется значительное время (пример, выгрузка товаров в скриптах интернет-магазинов)