[Apache] PHP and Apache 504 Gateway Timeout(웹서버 타임아웃 HTTP 504 code)
아래 3가지의 설정은 모두 자원과 관계가 있어 자사의 사이트에서 처리하는 정상범위 안으로 설정을 해주는 것이 좋다.
하지만 관리자 페이지등 특정인만 사용하는곳이 라면 그에 맞게 넉넉하게 설정해도 문제가 되지 않는다.
PHP and Apache(웹서버) 504 Gateway Timeout 연결 끊김
웹서버와 PHP의 연결이 끊어짐으로 인해서 발생 하는것인데 이 부분에서 연결을 더 오랬동안 유지하는 설정이 아래에 대한 것이다.
이부분은 파일 다운로드와도 관계가 있다. 현재 크롬계열은 바로 다운로드 되지만 예전 IE의 경우 창이 뜨면 다운로드 클릭할때 까지의 시간과의 관계 이다.
/etc/httpd/conf.d/httpd-default.conf
Timeout 600
실행시간에 관한 것으로 파일 업로드 하는 시간과도 관계가 있다.
/etc/httpd/php.ini
max_execution_time = 600
max_input_time = 600
이건 자원과 상당히 밀접한 부분으로 무조건 오래 주는것은 옮지 않을 수 있는 부분으로 서버에 무리가 가지 않는 범위에서 수치를 주면 된다.
/etc/httpd/php-fpm.conf
request_terminate_timeout = 180
request_terminate_timeout
스크립트가 실행될 수 있는 최대 시간을 제어합니다. 이 값이 너무 낮으면 긴 스크립트가 완료되기 전에 중단되어 타임아웃 오류가 발생할 수 있습니다. 이 설정값을 적절히 늘려주면 타임아웃 오류를 줄일 수 있습니다.
process_control_timeout
PHP-FPM 워커 프로세스가 'graceful restart'를 위해 기다리는 시간을 제어합니다. 이 값이 0으로 설정되면, 워커 프로세스는 즉시 재시작됩니다. 이 설정은 워커 프로세스의 재시작 시간을 제어하므로, 직접적으로 타임아웃 오류와는 관련이 없습니다.
pm.process_idle_timeout
워커 프로세스가 아무 요청 없이 대기하는 최대 시간을 제어합니다. 이 시간이 지나면 워커 프로세스는 종료됩니다. 이 설정은 워커 프로세스의 관리를 위한 것이므로, 직접적으로 타임아웃 오류와는 관련이 없습니다.
https://www.h3xed.com/web-development/php-and-apache-504-gateway-timeout-troubleshooting-and-solutions