nginx+php가 502 잘못된 게이트웨이로 나타납니다. 일반적으로 nginx의 문제는 아니지만, fastcgi나 php의 문제로 인해 발생하는 경우가 많습니다.
1. php.ini의 memory_limit가 너무 작습니다. (많은 양의 메모리를 점유해야 하는 개별 PHP 프로그램 프로세스가 있는 경우 주의해야 합니다.)
2. php- fpm.conf는 무리합니다(너무 작게 설정하면 요청을 처리할 cgi 프로세스가 부족해집니다. 설정이 너무 높으면 잠시 동안 응답이 정상이 되고 응답에 오랜 시간이 걸립니다. 정상에서는 상황에 따라 하위 항목은 메모리에 따라 계산됩니다. 예를 들어 1G는 64로 설정되고 2G128은 실제 상황에 따라 조정될 수 있습니다.
또한 현재 PHP FastCGI 프로세스 수가 충분한지 확인하는 명령은 다음과 같습니다. : netstat -anpo | grep “php-cgi” wc -l 사용된 실제 "FastCGI 프로세스 수"가 기본 "FastCGI 프로세스 수"에 가깝다면 이는 "FastCGI 프로세스 수"를 의미합니다. 충분하지 않아 늘려야 함)3. nginx 오류 로그를 확인하고 pstream이 업스트림에서 응답 헤더를 읽는 동안 너무 큰 헤더를 보낸 다음 클라이언트 헤드 버퍼인 fastcgi를 확인하세요. 32K로 설정할 수 있습니다. 4. php 프로그램 실행 시간이 너무 길어서 nginx 및 fastcgi의 다양한 시간 초과 설정을 확인하세요. fastcgi_connect_timeout 300; FASTCGI_SEND_TIMEOUT 300에서 NGINX : FASTCGI_READ_TIMEOUT300; PHP-FPM의 request_terminate_timeout, php.ini에서 max_execution_time)는 Php-fpm에서 매개 변수를 가지고 있습니다. 특정 수의 요청을 처리한 후 종료됩니다. 많은 수의 요청을 처리할 때 이 값을 너무 작게 설정하면 아이들이 자주 자살하고 확립하게 되어 이때 모든 아이들이 자살할 뻔하면 시간을 많이 낭비하게 됩니다. 재구성하기 전에 요청에 응답하면 502가 나타납니다. 이 값은 더 크게 또는 0[무한]으로 설정할 수 있습니다. 추천:php 서버
위 내용은 PHP가 데이터베이스에 연결할 때 502 오류가 발생합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!