Я пытаюсь установить php с fpm в macports. Я где-то читал, что fpm означает FastCGI-менеджер процессов. Означает ли это, что fastcgi и fpm такие же? Если они одинаковые, то почему у нас есть два разных варианта macports для php, а именно: «php5 + fastcgi» и «php5 + fpm»,
FPM – это менеджер процессов для управления FastCGI SAPI (Server API) в PHP.
В принципе, это заменяет необходимость чего-то вроде SpawnFCGI . Он быстро адаптирует файлы FastCGI (что означает запуск больше, если это требует текущая загрузка).
В противном случае разница между ним и FastCGI невелика (конвейер запросов от начала запроса до конца – тот же самый). Здесь просто сделать это проще.
То, что говорит Энтони, абсолютно правильно, но я хотел бы добавить, что ваш опыт, скорее всего, продемонстрирует намного лучшую производительность и эффективность (из-за не fpm-vs-fcgi, а больше для реализации вашего httpd).
Например, у меня была четырехъядерная машина, работающая на lighttpd + fcgi. Я перешел на 16-ядерную машину, чтобы справиться с ростом, а также две вещи: использование RAM и segfaults. Я обнаружил, что перезапускал lighttpd каждые 30 минут, чтобы сохранить сайт.
Я переключился на php-fpm и nginx, а использование ОЗУ снизилось с> 20 ГБ до 2 ГБ. Segfaults также исчезли. Проведя некоторые исследования, я узнал, что lighttpd и fcgi хорошо ладят с многоядерными машинами под нагрузкой, а также имеют проблемы с утечкой памяти в определенных случаях.
Это связано с тем, что php-fpm лучше fcgi? Не совсем, но как вы подключаетесь к php-fpm, кажется, что целая геквуа намного эффективнее, чем то, как вы служите через fcgi.