Установка phpDaemon + libevent на Ubuntu

Зачем нам это надо можно понять из предыдущей статьи, теперь о том как нам всё это установить:

0. PHP должен быть собран с этим:

PHP5 CLI >= 5.3 с поддержкой pcntl, shmop и sockets

1. На всякий случай удаляем старывй libevent (если его не было ничего страшного не будет).

2. Качаем libevent из ветки 1.4.x по этой ссылке

3. Распаковываем архив

4. Выполняем конфигурирование и компилируем библиотеку

5. Устанавливаем pecl расширение для php

6. Добавляем расширение в php.ini для php-cli, т.е. /etc/php5/cli/php.ini

7. Перезапускаем веб-сервер

8. Смотрим phpinfo(); и убеждаемся, что там есть раздел про libevent

7. Заходим в папку, куда будем ставить phpDaemon

8. Делаем туда импорт из GIT репозиатрия phpDaemon

9. Ставим права

10. Ставим расширение proctitle

11. Добавляем его в php.ini для php-cli, т.е. /etc/php5/cli/php.ini

и снова перезапускаем веб сервер

12. Запускаем phpdaemon

Дальше для удобства сделаем симлинк:

Теперь можно в конфиг-файле, который находится в /usr/local/lib/phpdaemon/conf/phpdaemon.conf.php закомментировать строчку

(т.к. у меня кто-то уже висел на 9000 порту, который он хотел занять), и добавить строчку

А в файле /app-servers/HTTP.php меняем listen-port с 80 на 82 дабы не толкаться с apache.

После этого убиваем старого демона командой

и запускаем его заново

заходим по адресу http://127.0.0.1:82 и наслаждаемся картинкой.

Мы получили рабочий мнопроцессный HTTP-сервер на PHP! Потестим его:

siege http://127.0.0.1:82/ -d1 -r10 -c25

Transactions:                 250 hits
Availability:              100.00 %
Elapsed time:                8.06 secs
Data transferred:            0.46 MB
Response time:                0.00 secs
Transaction rate:           31.02 trans/sec
Throughput:                0.06 MB/sec
Concurrency:                0.13
Successful transactions:         250
Failed transactions:               0
Longest transaction:            0.03
Shortest transaction:            0.00

Получается он работает с частотой 30Hz