W tym artykule wyjaśniliśmy, jak rozwiązać błąd nginx przekroczenia limitu czasu bramy Plesk 504.
Operacja lub skrypt, którego ukończenie trwa dłużej niż 60 sekund, kończy się niepowodzeniem w witrynie hostowanej w Plesku: Nginx 504 Gateway Time-out
Operacja lub skrypt, którego ukończenie trwa dłużej niż 60 sekund, kończy się niepowodzeniem na stronie internetowej z:
nginx 504 Gateway Time-out
Na stronie Dzienniki domeny lub w pliku dziennika błędów Nginx /var/www/vhosts/system/example.com/logs/proxy_error_log domeny pojawia się następujący komunikat o błędzie:
[error] 1096#0: *25 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 203.0.113.2, server: example.com, request: "GET / HTTP/1.1', upstream: "fastcgi://unix:///var/www/vhosts/system/example.com/php-fpm.sock', host: "example.com'
Operacja kończy się niepowodzeniem dla skryptu/części witryny, która ma działać dłużej niż 60 sekund.
Rozwiązanie
Dla wszystkich domen
1. Połącz się z serwerem Plesk przez SSH.
2. Utwórz kopię zapasową pliku /etc/nginx/nginx.conf:
# cp -p /etc/nginx/nginx.conf /etc/nginx/nginx.conf.back
3. Otwórz plik /etc/nginx/nginx.conf w edytorze tekstu. W tym przykładzie używamy edytora vi:
# vi /etc/nginx/nginx.conf
4. Dodaj następujące dyrektywy na końcu sekcji „http”, aby zwiększyć limit czasu do 180 sekund (3 minuty):
http {
<…>
include /etc/nginx/conf.d/.conf;
proxy_send_timeout 180s;
proxy_read_timeout 180s;
fastcgi_send_timeout 180s;
fastcgi_read_timeout 180s;
}
Zapisz zmiany i zamknij plik.
Uruchom ponownie usługę Nginx:
# service nginx restart
Ponów nieudaną operację w witrynie. Jeśli znowu się nie powiedzie, możesz zatrudnić naszych inżynierów pomocy technicznej, aby szybko rozwiązać problem.
Dla jednej domeny
1. W Plesku przejdź do Domeny > example.com > Ustawienia Apache i nginx.
2. Przewiń w dół do opcji Dodatkowe dyrektywy nginx i dodaj następujące wiersze do pola Dodatkowe dyrektywy nginx, aby zwiększyć limit czasu do 180 sekund (3 minuty):
proxy_connect_timeout 180s;
proxy_send_timeout 180s;
proxy_read_timeout 180s;
fastcgi_send_timeout 180s;
fastcgi_read_timeout 180s
3. Zastosuj zmiany.
4. Ponów nieudaną operację na stronie internetowej. Jeśli znowu się nie powiedzie, możesz zatrudnić naszych inżynierów pomocy technicznej, aby szybko rozwiązać problem.