PHP-FPM 성능 최적화: 웹사이트 보안 및 안정성 향상을 위한 대책
인터넷의 급속한 발전과 함께 웹사이트 성능 최적화는 점점 더 중요해지고 있습니다. PHP 개발에서 PHP-FPM(FastCGI 프로세스 관리자)은 성능과 웹사이트 안정성을 향상시키는 데 사용되는 일반적인 PHP 솔루션입니다. 그러나 단순히 PHP-FPM을 설치하고 구성하는 것만으로는 충분하지 않으며, 웹사이트의 성능을 더욱 최적화하고 보안과 안정성을 향상시키기 위해서는 몇 가지 조치가 필요합니다. 이 문서에서는 PHP-FPM 성능 최적화를 더 잘 구현하는 데 도움이 되는 몇 가지 구체적인 코드 예제를 소개합니다.
먼저 PHP-FPM 프로세스 풀을 합리적으로 구성해야 합니다. 프로세스 수 및 최대 요청 수와 같은 매개변수를 조정함으로써 PHP-FPM은 웹 사이트의 요구 사항을 더 잘 충족할 수 있습니다. 다음은 PHP-FPM 프로세스 풀 구성의 예입니다.
[www] user = www-data group = www-data listen = /var/run/php/php7.4-fpm.sock listen.owner = www-data listen.group = www-data pm = dynamic pm.max_children = 20 pm.start_servers = 5 pm.min_spare_servers = 2 pm.max_spare_servers = 8 pm.process_idle_timeout = 10s pm.max_requests = 500
이 예에서는 동적 프로세스 관리 모드(pm = 동적)를 사용하고 최대 하위 프로세스 수를 20(pm.max_children)으로 설정하고 하위 프로세스 숫자는 5(pm.start_servers), 유휴 하위 프로세스의 최소 수는 2(pm.min_spare_servers), 유휴 하위 프로세스의 최대 수는 8(pm.max_spare_servers), 유휴 프로세스 제한 시간은 10초( pm.process_idle_timeout), 최대 요청 횟수는 500회(pm.max_requests)입니다.
이 매개변수는 실제 웹사이트 로드에 따라 필요에 따라 조정될 수 있습니다. PHP-FPM 프로세스 풀을 적절하게 구성하면 성능과 리소스 소비의 균형을 더 잘 맞출 수 있습니다.
OPcache는 PHP 스크립트의 실행 성능을 캐시하고 향상시키는 데 사용되는 내장형 PHP 확장입니다. OPcache를 활성화하면 PHP 스크립트의 컴파일 시간을 크게 줄이고 서버의 로드를 줄일 수 있습니다. 다음은 OPcache 구성의 예입니다.
[opcache] zend_extension=opcache.so opcache.enable=1 opcache.enable_cli=1 opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 opcache.validate_timestamps=0 opcache.revalidate_freq=60
이 예에서는 OPcache를 활성화하고(opcache.enable=1), 메모리 소비를 128MB(opcache.memory_consumption)로 설정하고, 인턴된 문자열 버퍼를 8MB(opcache.interned_strings_buffer)로 설정했습니다. , 캐시된 파일의 최대 수는 4000개(opcache.max_accelerated_files)이고, 스크립트의 타임스탬프 확인이 취소되며(opcache.validate_timestamps=0), 재확인 빈도는 60초(opcache.revalidate_freq)로 설정됩니다.
OPcache를 사용하면 PHP 스크립트의 실행 성능을 크게 향상시키고 서버의 부하를 줄일 수 있습니다.
웹사이트의 보안을 향상하려면 일부 PHP 보안 설정도 켜야 합니다. 다음은 PHP 보안 설정의 몇 가지 일반적인 예입니다.
display_errors = Off allow_url_fopen = Off expose_php = Off open_basedir = /var/www/html:/tmp disable_functions = exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source
이 예에서는 오류 표시를 끄고(display_errors = Off) 원격 파일 작업을 비활성화하고(allow_url_fopen = Off) PHP 버전 정보를 숨깁니다(expose_php = Off ). PHP의 디렉토리 기반 액세스 제한(open_basedir = /var/www/html:/tmp)을 설정하고 일부 위험한 PHP 기능을 비활성화했습니다(disable_functions).
이러한 보안 설정을 켜면 웹사이트 공격 위험을 효과적으로 줄이고 웹사이트 보안을 강화할 수 있습니다.
요약:
PHP-FPM 프로세스 풀을 올바르게 구성하고, OPcache를 사용하고, PHP 보안 설정을 켜면 PHP-FPM의 성능을 더욱 최적화하고 웹 사이트의 보안과 안정성을 향상시킬 수 있습니다. 위의 내용은 단지 몇 가지 간단한 예일 뿐이며 실제 상황에 따라 구체적인 구성을 조정해야 합니다. 지속적인 최적화와 개선을 통해 PHP-FPM의 성능을 향상시키고 사용자에게 더 나은 웹사이트 경험을 제공할 수 있습니다.
위 내용은 PHP-FPM 성능 최적화: 웹사이트 보안 및 안정성 향상을 위한 조치의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!