Попытки перенести цикл обработки запросов в тело PHP-сценария уже производились, при этом удавалось добиться значительного роста производительности. Однако, для этого приходилось писать достаточно много кода.
Однако, буквально на днях создатели uWSGI реализовали экспериментальную поддержку интерфейса, схожего с WSGI/Rack, для PHP. Я напомню, что uWSGI — чрезвычайно гибкий и функциональный сервер приложений, поддерживающий практически все существующие на сегодняшний день языки и технологии, который легко может быть использован как альтернатива PHP-FPM. Таким образом, появилась возможность создания веб-приложений, постоянно загруженных в память, куда меньшей кровью.
Интерфейс назван «phpsgi». Плагин, реализующий поддержку этого интерфейса, ещё пока достаточно сыроват, однако, разработчик уже изъявил желание показать его широкой общественности.
But i will absolutely ask you for tests/reports and for gathering people willing to try it :)
Установка плагина при наличии уже настроенного uWSGI предельно проста:
uwsgi --build-plugin http://ift.tt/1M2OtI9
После выполнения такой команды в текущем каталоге появится файл «phpsgi_plugin.so», который достаточно поместить в каталог с остальными плагинами сервера (обычно /usr/lib/uwsgi). После этого можно настроить вассала (виртуальный узел), либо запустить экземпляр uWSGI вручную. Для простоты рассмотрим второй вариант.
uwsgi --plugin phpsgi --http-socket :9090
Если выполнить такую команду, uWSGI обратится к файлу с именем «app.php», который должен содержать в себе функцию «application». На данный момент, так как плагин является экспериментальным, эти имена жёстко определены в коде. Рассмотрим простейший пример кода на PHP, который можно «скормить» этому плагину.
Комментариев нет:
Отправить комментарий