Установка PHP-FPM на Debian из пакетов
PHP-FPM — патч к PHP, предоставляющие альтернативный интерфейс FastCGI. Обычно используется с nginx в проектах с высокими нагрузками или дефицитом ресурсов. Для удобной и упрощенной инсталляции мы собрали PHP-FPM в пакет для Debian 5 Lenny. Последнюю пару недель тестировали и тюнили, сейчас выложили в публичный доступ. Над пакетами в поте лица трудился viliar, которому дружно направляем за это благодарности и карму. Багрепорты и замечания приветствуются, лучше комментами к посту.
Инструкция по установке
Устанавливаем PHP-FPM с nginx на минимальную инсталляцию Debian 5.
Настройка нового репозитория
Собранные пакеты лежат в репозитории ftp-pub.truevds.ru/pub/debian. Добавляем репозиторий в конфигурацию apt — создаем файл /etc/apt/sources.list.d/truevds.list с содержимым:
deb ftp://ftp-pub.truevds.ru/pub/debian lenny main deb-src ftp://ftp-pub.truevds.ru/pub/debian lenny main
Импортируем ключ, которым подписываются пакеты:
apt-key adv --keyserver pgp.mit.edu --recv-key 44BEB7BE
или
wget -O - ftp://ftp-pub.truevds.ru/pub/GPG_TRUEVDS_RU.KEY | apt-key add -
Для того, чтобы при апгрейде системы не переустанавливался PHP без патча, пропишем приоритет в конфгурационном файле /etc/apt/preferences, добавим:
Package: * Pin: release a=stable Pin-Priority: 900 Package: php php* Pin: origin ftp-pub.truevds.ru Pin-Priority: 999
Обновляем индексные файлы архивов:
apt-get update
Установка и конфигурирование
Устанавливаем PHP5 и nginx:
apt-get install php5-cgi nginx
Редактируем /etc/nginx/sites-enabled/default — добавляет в секцию location / привязку расширения .php к php-fpm:
location ~ \.php$ { fastcgi_pass unix:/var/run/php-fpm/default.socket; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; }
Стартуем php-fpm и nginx:
/etc/init.d/php-fpm start /etc/init.d/nginx start
Система готова к работе.
Проверка работоспособности
Каталогом сервера по умолчанию для nginx является /var/www/nginx-default. Для проверки корректности работы php создаем в нем файл с phpinfo():
echo '<?phpinfo()?>' > /var/www/nginx-default/phpinfo.php
и открываем в браузере http://IP-адрес_сервера/phpinfo.php. Получаем:
Ubuntu
Для Ubuntu 9.10 Karmic есть собранные пакеты от Dreamcat4. Собственно, инструкция по установке PHP-FPM оттуда:
wget https://launchpad.net/~dreamcat4/+archive/ppa/+files/php5-common_5.2.10.dfsg.1-2ubuntu3~pre2_i386.deb dpkg --install php5-common_5.2.10.dfsg.1-2ubuntu3~pre2_i386.deb wget https://launchpad.net/~dreamcat4/+archive/ppa/+files/php5-fpm_5.2.10.dfsg.1-2ubuntu3~pre2_i386.deb dkpg --install php5-fpm_5.2.10.dfsg.1-2ubuntu3~pre2_i386.deb
UPD (2009-12-17) Линки кривые. Репозиторий:
deb http://ppa.launchpad.net/dreamcat4/ppa/ubuntu karmic main deb-src http://ppa.launchpad.net/dreamcat4/ppa/ubuntu karmic main
Или качать напрямую с ppa.launchpad.net/dreamcat4/ppa/ubuntu/pool/main/p/php5
Потрогать своими руками
С этим пакетом мы собрали специальный пресет Оптимизированный PHP, который представляет из себя собранные и настроенные для работы nginx, php-fpm, eaccelerator, mysql и memcached. Для запуска сайта достаточно залить его по FTP. Сейчас этот пресет в статусе беты.
Под его тестирование зарезервировано оборудования и мы можем предоставить бесплатно на месяц несколько десятков серверов c 256 Mb RAM / 480 MHz CPU с этим пресетом. Можно посмотреть, как будут себя вести ваши сайты на связке nginx + php-fpm, можно просто посмотреть, что представляет из себя nginx с php-fpm. Предложение только для хабраюзеров с положительной кармой. В одни руки — один сервер. Заявки на сервер — личным сообщением со своим email. В обмен нужны репорты по различным недочетам, непонятностям, скорости, ну и общие описания ощущений.