mirror of
https://github.com/php/doc-ru.git
synced 2025-07-21 23:23:20 +00:00
164 lines
6.2 KiB
XML
164 lines
6.2 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- EN-Revision: 7006df7c1fbc64457ac4011ae33309c3f3e5b202 Maintainer: rjhdby Status: ready -->
|
||
<!-- Reviewed: no -->
|
||
<sect1 xml:id="install.unix.lighttpd-14" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||
<title>Установка PHP на Lighttpd 1.4 на Unix-системах</title>
|
||
|
||
<para>
|
||
Этот раздел содержит информацию по установке PHP на Unix-системы
|
||
с сервером Lighttpd 1.4.
|
||
</para>
|
||
|
||
<para>
|
||
Прочитайте, пожалуйста, инструкции по установке Lighttpd в
|
||
<link xlink:href="&url.lighttpd.doc;">документации по Lighttpd</link>
|
||
перед установкой PHP.
|
||
</para>
|
||
|
||
<para>
|
||
FastCGI - предпочитаемый интерфейс для связи PHP и Lighttpd. FastCGI доступен
|
||
по умолчанию в php-cgi.
|
||
</para>
|
||
|
||
<sect2 xml:id="install.unix.lighttpd-14.lighttpd-spawn">
|
||
<title>Управление процессами php через Lighttpd</title>
|
||
|
||
<para>
|
||
Для настройки Lighttpd на соединение с PHP и порождения процессов FastCGI
|
||
необходимо отредактировать конфигурационный файл <filename>lighttpd.conf</filename>. Предпочтительнее
|
||
подключаться к процессам FastCGI используя Unix-сокеты.
|
||
</para>
|
||
|
||
<example>
|
||
<title>Пример части файла lighttpd.conf</title>
|
||
<screen>
|
||
<![CDATA[
|
||
server.modules += ( "mod_fastcgi" )
|
||
|
||
fastcgi.server = ( ".php" =>
|
||
((
|
||
"socket" => "/tmp/php.socket",
|
||
"bin-path" => "/usr/local/bin/php-cgi",
|
||
"bin-environment" => (
|
||
"PHP_FCGI_CHILDREN" => "16",
|
||
"PHP_FCGI_MAX_REQUESTS" => "10000"
|
||
),
|
||
"min-procs" => 1,
|
||
"max-procs" => 1,
|
||
"idle-timeout" => 20
|
||
))
|
||
)
|
||
]]>
|
||
|
||
</screen>
|
||
</example>
|
||
|
||
<para>
|
||
Директива <filename>bin-path</filename> позволяет lighttpd динамически запускать процессы FastCGI.
|
||
Lighttpd будет динамически создавать дочерние процессы php,
|
||
согласно переменной окружения <envar>PHP_FCGI_CHILDREN</envar>.
|
||
Директива <literal>bin-environment</literal> задаёт настройки для
|
||
дочерних процессов. <envar>PHP_FCGI_MAX_REQUESTS</envar> определяет порог, при достижении
|
||
которого PHP завершит дочерний процесс. Директив <literal>min-procs</literal> и <literal>max-procs</literal>
|
||
обычно стоит избегать. PHP управляет только своими дочерними процессами, и
|
||
инструменты кеширования в байт-код (например, APC) будут использоваться
|
||
только в этих дочерних процессах.
|
||
Если значение <literal>min-procs</literal> установлено больше <literal>1</literal>, общее количество процессов,
|
||
обрабатывающих запросы, будет равно <envar>PHP_FCGI_CHILDREN</envar> * min-procs.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2 xml:id="install.unix.lighttpd-14.spawn-fcgi">
|
||
<title>Управление процессами с помощью spawn-fcgi</title>
|
||
|
||
<para>
|
||
Lighttpd предоставляет программу spawn-fcgi для облегчения управления
|
||
дочерними процессами FastCGI.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2 xml:id="install.unix.lighttpd-14.spawn-php">
|
||
<title>Управление процессами с помощью php-cgi</title>
|
||
|
||
<para>
|
||
Управлять процессами можно и без spawn-fcgi, но это потребует некоторых
|
||
доработок. Переменная окружения <envar>PHP_FCGI_CHILDREN</envar> указывает количество
|
||
дочерних процессов, запускаемых PHP для обработки входящих запросов.
|
||
Переменная <envar>PHP_FCGI_MAX_REQUESTS</envar> отвечает за количество запросов,
|
||
которые обработает один процесс. Ниже приведён простой bash-скрипт,
|
||
облегчающий создание дочерних процессов.
|
||
</para>
|
||
|
||
<example>
|
||
<title>Создание FastCGI-обработчиков</title>
|
||
<screen>
|
||
<![CDATA[
|
||
#!/bin/sh
|
||
|
||
# Местоположение бинарного файла php-cgi
|
||
PHP=/usr/local/bin/php-cgi
|
||
|
||
# Местоположение PID-файла
|
||
PHP_PID=/tmp/php.pid
|
||
|
||
# Привязка к адресу
|
||
#FCGI_BIND_ADDRESS=10.0.1.1:10000
|
||
# Привязка к сокету
|
||
FCGI_BIND_ADDRESS=/tmp/php.sock
|
||
|
||
PHP_FCGI_CHILDREN=16
|
||
PHP_FCGI_MAX_REQUESTS=10000
|
||
|
||
env -i PHP_FCGI_CHILDREN=$PHP_FCGI_CHILDREN \
|
||
PHP_FCGI_MAX_REQUESTS=$PHP_FCGI_MAX_REQUESTS \
|
||
$PHP -b $FCGI_BIND_ADDRESS &
|
||
|
||
echo $! > "$PHP_PID"
|
||
|
||
]]>
|
||
</screen>
|
||
</example>
|
||
</sect2>
|
||
|
||
<sect2 xml:id="install.unix.lighttpd-14.remote-fcgi">
|
||
<title>Подключение к удалённым процессам FCGI</title>
|
||
|
||
<para>
|
||
Обработчики FastCGI могут находиться на нескольких отдельных машинах
|
||
для масштабирования нагрузки.
|
||
</para>
|
||
|
||
<example>
|
||
<title>Подключение к удалённым процессам fastcgi</title>
|
||
<screen>
|
||
<![CDATA[
|
||
fastcgi.server = ( ".php" =>
|
||
(( "host" => "10.0.0.2", "port" => 1030 ),
|
||
( "host" => "10.0.0.3", "port" => 1030 ))
|
||
)
|
||
]]>
|
||
</screen>
|
||
</example>
|
||
</sect2>
|
||
</sect1>
|
||
<!-- Keep this comment at the end of the file
|
||
Local variables:
|
||
mode: sgml
|
||
sgml-omittag:t
|
||
sgml-shorttag:t
|
||
sgml-minimize-attributes:nil
|
||
sgml-always-quote-attributes:t
|
||
sgml-indent-step:1
|
||
sgml-indent-data:t
|
||
indent-tabs-mode:nil
|
||
sgml-parent-document:nil
|
||
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
||
sgml-exposed-tags:nil
|
||
sgml-local-catalogs:nil
|
||
sgml-local-ecat-files:nil
|
||
End:
|
||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||
vim: et tw=78 syn=sgml
|
||
vi: ts=1 sw=1
|
||
-->
|