Лекция
Привет, Вы узнаете о том , что такое php fastcgi, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое php fastcgi, mod_php, php как модуль apache, cgi-программы , настоятельно рекомендую прочитать все из категории Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend) .
Общая схема взаимодействия посетителя с динамическим веб-сайтом
Основные различия между сборками.
Безопасность:
Быстродействие:
Важно заметить, что при 300-500 соединений ощутимой разницы для нагрузки на сервер не будет, будь то fcgi или mod_php. Но при значении 1000 соединений значительно будет преобладать FastCGI.
Подведем результаты сравнения php FastCGI и php модуль Apache (mod_php), выделив из всего выше сказанного достоинства и недостатки:
В данном случае для работы PHP используется модуль веб-сервера apache mod_php.
Достоинства
Недостатки
Рисунок ниже схематично демонстрирует модульную архитектуру сервера Apache.
Модульная архитектура сервера Apache
PHP, как модуль сервера Apache, следовательно, в данном случае PHP и Apache можно рассматривать как единое целое, грубо говоря, одно многофункциональное приложение, так как PHP будет как бы встроен в архитектуру Apache, каждый модуль Apache при выполнении своих функций создает поток, а PHP будет лишь одни из потоков сервера Apache.
Но обратите внимание на то, что PHP в данном в случае можно лишь условно назвать встроенным в Apache, естественно, он будет модулем Apache, но их взаимодействие будет происходит при помощи специального программного кода, который является связующим звеном между средой PHP и сервером Apache, этот код в Apache оформлен в виде отдельного модуля.
Особенность установки Apache + PHP на Windows заключается в модуле MPM, который появился тогда, когда была разработана версия Apache для операционных систем семейства Windows. Этот модуль реализует мультипроцессорные модели и управляет взаимодействием ядра сервера с операционной системой и другими модулями. Модуль MPM имеет две модели: Worker и Prefork. Первая модель thread safe, вторая модель non-threaded, а как вы помните мы скачивали PHP версии Thread Safe.
Модули Apache mod_cgi / mod_cgid отвечают за обработку сценариев CGI. для рабочего и многопоточного MPM использует модуль cgi daemon «mod_cgid».
phpinfo() при таком режиме работы выдаст эту информацию
При этом используется модуль Apache mod_fastcgi, скрипты передаются его средствами на вход интерпретатора PHP.
Достоинства
Недостатки
Таким образом, использование FastCGI является более безопасным, как с точки зрения прав доступа, так и с точки зрения наличия ошибок в работе посторонних скриптов, и более экономичным и быстрым способом работы PHP-скриптов. mod_php, в свою очередь, имеет некоторое увеличение быстродействия при большой (в тысячи соединений) нагрузке на сайт.
phpinfo() выдаст эту информацию
В отличие от CGI, FastCGI использует постоянно запущенные процессы для обработки множества запросов.
cgi-программы взаимодействуют с сервером через STDIN и STDOUT запущенного процесса.
FastCGI-процессы используют для связи с сервером Unix Domain Sockets или TCP/IP . Это дает следующее преимущество над обычными CGI-программами: FastCGI-программы могут быть запущены не только на этом же сервере, но и где угодно в сети. Также возможна обработка запросов несколькими FastCGI-процессами, работающими параллельно. Можно использовать несколько FastCGI-серверов, распределяя нагрузку между ними с помощью nginx или lighttpd.
После установления соединения FastCGI-процесса с web-сервером, между ними начинается обмен данными с использованием простого протокола, решающего две задачи: организация двунаправленного обмена в рамках одного соединения (для эмуляции STDIN, STDOUT, STDERR) и организация нескольких независимых FastCGI-сессий в рамках одного соединения.
Все передаваемые данные оборачиваются в FastCGI-записи — единицу данных протокола. FastCGI-записи служат для организации двунаправленного обмена и мультиплексирования нескольких сессий в рамках одного соединения.
FastCGI-запись состоит из заголовка фиксированной длины, следующего за ним содержимого и выравнивающих данных переменной длины. Каждая запись содержит 7 элементов.
В заключение, эта статья об php fastcgi подчеркивает важность того что вы тут, расширяете ваше сознание, знания, навыки и умения. Надеюсь, что теперь ты понял что такое php fastcgi, mod_php, php как модуль apache, cgi-программы и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)
Из статьи мы узнали кратко, но содержательно про php fastcgi
Комментарии
Оставить комментарий
Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)
Термины: Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)