php504 오류 해결 방법: 1. fastcgi 프로세스 응답의 버퍼 크기를 늘립니다. 2. php 환경 구성을 변경하고 php-cgi 프로세스 처리 스크립트의 시간 초과를 늘립니다. 3. php-fpm의 처리 방법을 다음과 같이 변경합니다. 아파치 모드 .
해결 방법은 다음과 같습니다.
시나리오 1:
nginx 기본 fastcgi 프로세스 응답 버퍼가 너무 작아서 발생하는 오류
해결 방법:
일반 기본 fastcgi 프로세스 응답 버퍼는 8K입니다. 이번에는 더 크게 설정할 수 있습니다. nginx.conf에 fastcgi_buffers 8 128k를 추가하세요. 이는 fastcgi 버퍼를 128k 공간의 8블록으로 설정한다는 의미입니다.
물론, 특정 실시간 작업을 수행하는 경우 nginx의 시간 초과 매개변수를 늘려야 할 수도 있습니다. 예를 들어 60초로 설정합니다. 이 두 매개변수를 조정한 후 "504 게이트웨이 시간" - out" 오류가 발생하면 기본적으로 문제가 해결됩니다.
시나리오 2:
PHP 환경의 구성 문제
때때로 웹사이트에서 php-fpm 및 nginx의 구성을 수정해야 할 때가 있습니다. 이 경우 "504 Gateway Time-out" 오류 메시지도 나타나기 때문입니다. 이때 Nginx 504 Gateway Timeout의 의미는 요청한 게이트웨이가 요청되지 않았다는 의미입니다. 간단히 말하면 실행 가능한 PHP-CGI가 요청되지 않았다는 의미입니다.
해결책:
php-fpm의 몇 가지 구성을 변경하세요.
max_children을 이전 10에서 현재 30으로 변경하여 충분한 php-cgi 프로세스를 사용할 수 있도록
Put request_terminate_timeout을 다음에서 변경하세요. 이전 0~60초로 설정하여 php-cgi 프로세스가 스크립트를 처리하는 데 걸리는 시간 초과 시간을 60초로 설정하여 프로세스가 중단되는 것을 방지하고 활용 효율성을 높일 수 있습니다.
그런 다음 여러 nginx 구성 항목을 변경하여 FastCGI 요청 수를 줄이고 버퍼를 변경하지 않고 유지해 보세요.
fastcgi_buffers는 4 64k에서 2 256k로 변경됩니다.
fastcgi_buffer_size는 64k에서 128K로 변경됩니다. 변경되었습니다 128K는 256K입니다.
fastcgi_temp_file_write_size는 128K에서 256K로 변경됩니다.
php-fpm 및 nginx 구성을 다시 로드하고 "504 Gateway Time-out" 오류가 나타나지 않으면 문제가 해결된 것입니다.
시나리오 3:
php-fpm의 기본 정적 처리 방법으로 인해 php-cgi 프로세스가 오랫동안 메모리를 점유하고 해제할 수 없어 504 오류가 발생합니다.해결책:
php-fpm의 처리 방법을 아파치 모드로 변경하세요.
더 많은 관련 지식을 알고 싶으시면
php 중국어 홈페이지위 내용은 php504 오류를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!