Установка Lighttpd · 3 min read · Nov 14, 2025

Установка Lighttpd с поддержкой PHP5 (PHP-FPM) и MySQL на CentOS 6.4 - Страница 2

5 Настройка Lighttpd и PHP5

Чтобы включить PHP5 в Lighttpd, необходимо изменить два файла: /etc/php.ini и /etc/lighttpd/lighttpd.conf. Сначала откроем /etc/php.ini и раскомментируем строку cgi.fix_pathinfo=1:

vi /etc/php.ini

| [...] ; cgi.fix_pathinfo предоставляет *реальную* поддержку PATH_INFO/PATH_TRANSLATED для CGI. PHP ; ранее работал так, что устанавливал PATH_TRANSLATED в SCRIPT_FILENAME и не понимал, ; что такое PATH_INFO. Для получения дополнительной информации о PATH_INFO смотрите спецификации cgi. Установка ; этого значения в 1 заставит PHP CGI исправить свои пути в соответствии со спецификацией. Установка ; нуля заставляет PHP вести себя как раньше. Значение по умолчанию - 1. Вам следует исправить ваши скрипты ; чтобы использовать SCRIPT_FILENAME вместо PATH_TRANSLATED. ; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo cgi.fix_pathinfo=1 [...] |

Затем откроем /etc/lighttpd/modules.conf и раскомментируем строку include “conf.d/fastcgi.conf”:

vi /etc/lighttpd/modules.conf

| [...] ## ## FastCGI (mod_fastcgi) ## include "conf.d/fastcgi.conf" [...] |

Далее откроем /etc/lighttpd/conf.d/fastcgi.conf:

vi /etc/lighttpd/conf.d/fastcgi.conf

Существует раздел fastcgi.server - оставьте его закомментированным и добавьте свой собственный раздел fastcgi.server следующим образом:

| [...] ## Пример PHP ## Для PHP не забудьте установить cgi.fix_pathinfo = 1 в php.ini. ## ## Количество процессов php, которые вы получите, можно легко рассчитать: ## ## num-procs = max-procs * ( 1 + PHP_FCGI_CHILDREN ) ## ## для примера php-num-procs это означает, что вы получите 17*5 = 85 php ## процессов. Вам всегда нужно это высокое число для ваших очень ## загруженных сайтов. И если у вас много оперативной памяти. :) ## fastcgi.server += ( ".php" => (( "host" => "127.0.0.1", "port" => "9000", "broken-scriptfilename" => "enable" )) ) #fastcgi.server = ( ".php" => # ( "php-local" => # ( # "socket" => socket_dir + "/php-fastcgi-1.socket", # "bin-path" => server_root + "/cgi-bin/php5", # "max-procs" => 1, # "broken-scriptfilename" => "enable", # ) # ), [...] |

Затем перезапустим Lighttpd:

/etc/init.d/lighttpd restart

6 Тестирование PHP5 / Получение информации о вашей установке PHP5

Корневая директория веб-сайта по умолчанию - /var/www/lighttpd/. Теперь мы создадим небольшой PHP файл (info.php) в этой директории и вызовем его в браузере. Файл отобразит множество полезных деталей о нашей установке PHP, таких как установленная версия PHP.

vi /var/www/lighttpd/info.php

| |

Теперь мы вызываем этот файл в браузере (например, http://192.168.0.100/info.php):

Как вы видите, PHP5 работает, и он работает через FPM/FastCGI, как показано в строке Server API. Если вы прокрутите вниз, вы увидите все модули, которые уже включены в PHP5. MySQL там не указан, что означает, что у нас еще нет поддержки MySQL в PHP5.

7 Получение поддержки MySQL в PHP5

Чтобы получить поддержку MySQL в PHP, мы можем установить пакет php-mysql. Также неплохо установить некоторые другие модули PHP5, так как они могут понадобиться для ваших приложений. Вы можете искать доступные модули PHP5 следующим образом:

yum search php

Выберите нужные и установите их следующим образом:

yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc

APC - это бесплатный и открытый кэш PHP opcode для кэширования и оптимизации промежуточного кода PHP. Он похож на другие кэши PHP opcode, такие как eAccelerator и Xcache. Настоятельно рекомендуется установить один из них, чтобы ускорить вашу PHP-страницу.

APC можно установить следующим образом:

yum install php-pecl-apc

Теперь перезагрузите PHP-FPM:

/etc/init.d/php-fpm reload

Теперь перезагрузите http://192.168.0.100/info.php в вашем браузере и снова прокрутите вниз до раздела модулей. Теперь вы должны найти множество новых модулей, включая модуль MySQL:

8 Настройка PHP-FPM для использования Unix-сокета

По умолчанию PHP-FPM слушает на порту 9000 на 127.0.0.1. Также возможно заставить PHP-FPM использовать Unix-сокет, что позволяет избежать накладных расходов TCP. Для этого откройте /etc/php-fpm.d/www.conf…

vi /etc/php-fpm.d/www.conf

… и измените строку listen следующим образом:

| [...] ;listen = 127.0.0.1:9000 listen = /tmp/php5-fpm.sock [...] |

Затем перезагрузите PHP-FPM:

/etc/init.d/php-fpm reload

Далее откройте файл конфигурации PHP Lighttpd /etc/lighttpd/conf.d/fastcgi.conf и замените строки host и port на “socket” => “/tmp/php5-fpm.sock”:

vi /etc/lighttpd/conf.d/fastcgi.conf

| fastcgi.server += ( ".php" => (( "socket" => "/tmp/php5-fpm.sock", "broken-scriptfilename" => "enable" )) ) |

Наконец, перезапустите Lighttpd:

/etc/init.d/lighttpd restart

9 Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.