서버에 502가 나타나는 이유는 연결 시간이 초과되었기 때문입니다. 현재 서버에 연결이 너무 많아 서버에서 정상적인 응답을 제공할 수 없어 이러한 오류가 발생했습니다.
따라서 서버의 동시성이 매우 큰 경우 먼저 머신을 추가한 다음 다음과 같이 최적화하여 더 나은 결과를 얻을 수 있습니다. 그러나 동시성이 적지만 502를 얻는다면 이는 일반적으로 구성 문제 때문일 수 있습니다. 및 스크립트 시간 초과 문제.
1. php-fpm 프로세스 수가 충분하지 않습니다.
netstat -napo | grep "php-fpm" | wc -l을 사용하여 현재 fastcgi 프로세스 수를 확인하세요. conf에 구성된 제한이 있으면 프로세스 수를 늘려야 합니다.
하지만 끝없이 늘릴 수는 없습니다. 서버 메모리에 따라 php-fpm 하위 프로세스 수를 100개 이상으로 조정할 수 있습니다. 4G 메모리가 있는 서버에서는 200개면 충분합니다.
2. Linux 커널에서 열리는 파일 수를 늘립니다.
다음 명령을 사용할 수 있습니다(루트 계정이어야 함)
echo 'ulimit -HSn 65536'>> /etc/profile echo 'ulimit -HSn 65536'>> /etc/rc.local source /etc/profile
3. 스크립트 실행 시간이 초과됩니다
오랜 시간이 지나고 어떤 이유로 반환되지 않아 새 요청이 처리되지 않는 경우 다음 구성을 적절하게 조정할 수 있습니다.
nginx.conf에는 주로 다음이 포함됩니다.
fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300;
php-fpm.conf 다음이 포함된 경우:
request_terminate_timeout =10s
4 캐시 설정이 비교적 작습니다.
nginx.conf에 구성을 수정하거나 추가하세요
proxy_buffer_size 64k; proxy_buffers 512k; proxy_busy_buffers_size 128k;
추천 튜토리얼: PHP 비디오 튜토리얼
위 내용은 php502의 문제점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!