Apache가 프로덕션에서 느리게 실행되었습니다. 얼마 동안 답변을 찾은 후 마침내 #apache IRC 채널로 이동하여 전문가 가이 명령으로 아파치 모드를 확인하도록했습니다.
sudo apachectl -V
그리고 서버 MPM 이 prefork 라는 것을 알게되면서 경보를 받았습니다 . 그들은 프로덕션 서버에서 PREFORK를 사용하지 마십시오. 우분투 패키지 (아마도 데비안에서 상속 받았습니까?)는 아파치에서 PHP를 실행 하는 권장 방법이 proxy_fcgi 및 php-fpm을 명확하게 권장 한다는 사실에도 불구하고 프리 포크 모드에서 아파치를 실행해야한다고 주장 합니다. 프리 포크 사용 :
더 이상 prefork mpm과 함께 mod_php를 사용하지 않아야하는 이유
- mod_php는 모든 httpd 프로세스에 항상로드됩니다. httpd가 정적 / 비 PHP 컨텐츠를 제공하는 경우에도 해당 메모리가 사용 중입니다.
- mod_php는 스레드 안전하지 않으며 prefork mpm (다중 프로세스, 스레드 없음)을 고수합니다.
이 페이지에는 PHP-FPM에 대한 세부 정보 도 포함되어 있지만 약간 정교하고 명확하지 않으며 많은 수동 구성이 필요한 것 같습니다. 실망스럽고 Ubuntu 16에는 fastCGI 모드 또는 기타 패키지 옵션이 없습니다.
a2enmod를 사용하여 아파치를 이벤트 모드로 전환 하려고했는데 아파치를 다시 시작하려고 할 때 오류가 발생했습니다.
Apache는 스레드 MPM을 실행하고 있지만 PHP 모듈은 스레드 안전하도록 컴파일되지 않았습니다. PHP를 다시 컴파일해야합니다
어쨌든 누구나 패키지 설치 프로그램에 최대한 의존 하여 PHP 7.0의 Ubuntu 16에서 fastCGI 모드를 실행하는 데 필요한 최소한의 단계별 지침이 있는지 궁금 합니다. 저는 현재 잘 설명이 안되고 모호한 지침을 많이보고 있으며 의사 결정으로 생산 환경을 정리하는 데 관심이 있습니다.
또한 누군가는 mpm-event를 태그 옵션으로 추가해야합니다. 그것이 #apache IRC 직원들이 추천 한 것입니다.