<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.p3.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%92%D1%8B%D1%81%D0%BE%D0%BA%D0%BE%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_web-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80</id>
	<title>Высокопроизводительный web-сервер - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.p3.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%92%D1%8B%D1%81%D0%BE%D0%BA%D0%BE%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_web-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80"/>
	<link rel="alternate" type="text/html" href="https://wiki.p3.ru/index.php?title=%D0%92%D1%8B%D1%81%D0%BE%D0%BA%D0%BE%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_web-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80&amp;action=history"/>
	<updated>2026-05-03T03:01:57Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.p3.ru/index.php?title=%D0%92%D1%8B%D1%81%D0%BE%D0%BA%D0%BE%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_web-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80&amp;diff=418&amp;oldid=prev</id>
		<title>TTK в 12:23, 23 августа 2012</title>
		<link rel="alternate" type="text/html" href="https://wiki.p3.ru/index.php?title=%D0%92%D1%8B%D1%81%D0%BE%D0%BA%D0%BE%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_web-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80&amp;diff=418&amp;oldid=prev"/>
		<updated>2012-08-23T12:23:55Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Высокопроизводительный_web-сервер|Здесь]] автором предложен вариант и описана процедура установки высокопроизводительной связки nginx + php-fpm + eaccelerator.&lt;br /&gt;
&lt;br /&gt;
Предлагаю рассмотреть альтернативный вариант lighttpd + php-fpm + xcache. Установка производится на VDS под управлением FreeBSD с дисковым шаблоном &amp;quot;ОС FreeBSD 6.x и самое современное ПО&amp;quot;, но будет работать и в других вариантах, хотя процедура установки будет отличаться. Данная связка так же как и основанная на nginx позволяет экономно расходовать оперативную память, повышая эффективность работы VDS.&lt;br /&gt;
&lt;br /&gt;
=== Используемое ПО ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.lighttpd.net Lighttpd] (произносится как лайти) - веб-сервер, разрабатываемый с расчетом на быстроту и защищенность, а так же соответствие стандартам. Распространяется по лицензии BSD. Работает как UNIX-подобных системах, так и в Windows. Использует т.н. асинхронную обработку сетевых соединений, благодаря чему загруженность сервера при доступе к файлам на диске не зависит от количества сетевых соединений. Используется такими сервисами как [http://youtube.com/ YouTube], [http://wikipedia.org/ Wikipedia], [http://meebo.com/ meebo]&lt;br /&gt;
&lt;br /&gt;
* [http://php-fpm.anight.org PHP FastCGI Process Manager] - патч для PHP, обеспечивающий замену стандартного FastCGI из официального комплекта PHP и позволяющий использовать PHP как FastCGI в высоконагруженных системах.&lt;br /&gt;
&lt;br /&gt;
* [http://xcache.lighttpd.net Xcache] - быстрый и стабильный оптимизатор для PHP. Оптимизация достигается за счет кэширования PHP в скомпилированном виде. Поддерживает все cvs-ветки PHP PHP_4_3 PHP_4_4 PHP_5_1 PHP_5_2 HEAD(6.x).&lt;br /&gt;
&lt;br /&gt;
=== Исходные настройки ===&lt;br /&gt;
&lt;br /&gt;
Предположим, что пользователи вместе с сайтами, которые нужно хостить уже созданы в ISPmanager и  успешно обслуживаются apache&amp;#039;ем. Менять структуру не будем, на случай если поэкспериментировав будет принято решение вернуться к стандартным настройкам.&lt;br /&gt;
&lt;br /&gt;
=== Установка ===&lt;br /&gt;
&lt;br /&gt;
==== Lighttpd ====&lt;br /&gt;
&lt;br /&gt;
 cd /usr/ports/www/lighttpd&lt;br /&gt;
 make install clean&lt;br /&gt;
Среди опций конфигурирования обязательно отключаем&lt;br /&gt;
* [ ] IPV6      Enable IPV6 support&lt;br /&gt;
Поддержки IPv6 все равно на VDS нет. Остальное по желанию и необходимости.&lt;br /&gt;
&lt;br /&gt;
==== PHP-FPM ====&lt;br /&gt;
&lt;br /&gt;
Идем [http://paix.org.ua/node/11 сюда] и скачиваем порт для последней стабильной (на текущий момент) версии php-5.2.6_1&lt;br /&gt;
&lt;br /&gt;
 tar xzf php5_fpm_526.tar.gz -C /usr/ports/lang/&lt;br /&gt;
 cd /usr/ports/lang/php5-fpm&lt;br /&gt;
 make install clean&lt;br /&gt;
Опции можно оставить по умолчанию&lt;br /&gt;
&lt;br /&gt;
==== Xcache ====&lt;br /&gt;
&lt;br /&gt;
 cd /usr/ports/www/xcache&lt;br /&gt;
 make install clean&lt;br /&gt;
Опции оставляем по умолчанию.&lt;br /&gt;
&lt;br /&gt;
=== Настройка ===&lt;br /&gt;
&lt;br /&gt;
==== Lighttpd ====&lt;br /&gt;
&lt;br /&gt;
 cd /usr/local/etc/&lt;br /&gt;
 cp lighttpd.conf.sample lighttpd.conf&lt;br /&gt;
 vi lighttpd.conf&lt;br /&gt;
Включаем модуль для работы fastcgi&lt;br /&gt;
 server.modules = ( ....&lt;br /&gt;
                   mod_fastcgi,&lt;br /&gt;
                    .... )&lt;br /&gt;
Остальное по желанию и необходимости.&lt;br /&gt;
&lt;br /&gt;
Описываем все виртуальные хосты, имеющиеся на сервере, меняя пути в зависимости от того какому пользователю они принадлежат примерно следующим образом&lt;br /&gt;
 $HTTP[&amp;quot;host&amp;quot;] =~ &amp;quot;(^|\.)domain\.ru$&amp;quot; { # наш домен с www и без&lt;br /&gt;
                 server.document-root = &amp;quot;/home/user1/data/www/domain.ru&amp;quot; # Место где лежит контент сайта&lt;br /&gt;
                 server.errorlog = &amp;quot;/home/user1/data/logs/domain.ru.error.log&amp;quot; # Лог ошибок&lt;br /&gt;
                 accesslog.filename = &amp;quot;/home/user1/data/logs/domain.ru.access.log&amp;quot; # Лог посещений&lt;br /&gt;
                 fastcgi.server = ( &amp;quot;.php&amp;quot; =&amp;gt;&lt;br /&gt;
                                (( &amp;quot;socket&amp;quot; =&amp;gt; &amp;quot;/home/user1/data/sockets/php.sock&amp;quot;, # Путь до сокета php-fastcgi&lt;br /&gt;
                                   &amp;quot;bin-copy-environment&amp;quot; =&amp;gt; (&lt;br /&gt;
                                        &amp;quot;HOSTNAME&amp;quot;, &amp;quot;PATH&amp;quot;, &amp;quot;TMP&amp;quot;, &amp;quot;TMPDIR&amp;quot;, &amp;quot;TEMP&amp;quot;, &amp;quot;OSTYPE&amp;quot;, &amp;quot;MACHTYPE&amp;quot;, &amp;quot;MALLOC_CHECK_&amp;quot; ),&lt;br /&gt;
                                   &amp;quot;broken-scriptfilename&amp;quot; =&amp;gt; &amp;quot;enable&amp;quot;&lt;br /&gt;
                                ))&lt;br /&gt;
                        )&lt;br /&gt;
 }&lt;br /&gt;
Сколько виртуалхостов, столько подобных блоков должно получиться.&lt;br /&gt;
&lt;br /&gt;
==== PHP-FPM ====&lt;br /&gt;
&lt;br /&gt;
Создаем директории, в которых будут располагаться сокеты php-fastcgi, свой для каждого пользователя.&lt;br /&gt;
&lt;br /&gt;
 mkdir /home/user1/data/sockets/php.sock&lt;br /&gt;
 chown user1:www /home/user1/data/sockets&lt;br /&gt;
 chmod 770 /home/user1/data/sockets&lt;br /&gt;
Сколько пользователей, столько директорий&lt;br /&gt;
&lt;br /&gt;
В конфигурационном файле нам потребуется описать пулы обработчиков PHP для каждого пользователя&lt;br /&gt;
&lt;br /&gt;
 cp php-fpm.conf.dist php-fpm.conf&lt;br /&gt;
 vi php-fpm.conf&lt;br /&gt;
Выглядеть это будет примерно вот так&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;section name=&amp;quot;pool&amp;quot;&amp;gt;&lt;br /&gt;
         Это уникальное имя пула&lt;br /&gt;
         &amp;lt;value name=&amp;quot;name&amp;quot;&amp;gt;user1&amp;lt;/value&amp;gt;&lt;br /&gt;
         Сокет, где слушает FastCGI-сервер&lt;br /&gt;
         &amp;lt;value name=&amp;quot;listen_address&amp;quot;&amp;gt;/home/user1/data/sockets/php.sock&amp;lt;/value&amp;gt;&lt;br /&gt;
         &amp;lt;value name=&amp;quot;listen_options&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;value name=&amp;quot;backlog&amp;quot;&amp;gt;-1&amp;lt;/value&amp;gt;&lt;br /&gt;
                Следующие три строчки - права доступа к сокету&lt;br /&gt;
                &amp;lt;value name=&amp;quot;owner&amp;quot;&amp;gt;user1&amp;lt;/value&amp;gt;&lt;br /&gt;
                &amp;lt;value name=&amp;quot;group&amp;quot;&amp;gt;www&amp;lt;/value&amp;gt;&lt;br /&gt;
                &amp;lt;value name=&amp;quot;mode&amp;quot;&amp;gt;0660&amp;lt;/value&amp;gt;&lt;br /&gt;
         &amp;lt;/value&amp;gt;&lt;br /&gt;
         Следующая секция позволяет задать специфичные для пула опции php.ini&lt;br /&gt;
         Здесь же можно подгружать расширения php&lt;br /&gt;
         &amp;lt;value name=&amp;quot;php_defines&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;value name=&amp;quot;open_basedir&amp;quot;&amp;gt;/home/user1/data:.&amp;lt;/value&amp;gt;&lt;br /&gt;
                &amp;lt;value name=&amp;quot;upload_tmp_dir&amp;quot;&amp;gt;/home/user1/data/tmp&amp;lt;/value&amp;gt;&lt;br /&gt;
                &amp;lt;value name=&amp;quot;session.save_path&amp;quot;&amp;gt;/home/user1/data/tmp&amp;lt;/value&amp;gt;&lt;br /&gt;
                &amp;lt;value name=&amp;quot;error_log&amp;quot;&amp;gt;/home/user1/data/logs/domain.ru.error.log&amp;lt;/value&amp;gt;&lt;br /&gt;
         &amp;lt;/value&amp;gt;&lt;br /&gt;
         От какого пользователя и группы будет работать php-cgi&lt;br /&gt;
         &amp;lt;value name=&amp;quot;user&amp;quot;&amp;gt;user1&amp;lt;/value&amp;gt;&lt;br /&gt;
         &amp;lt;value name=&amp;quot;group&amp;quot;&amp;gt;user1&amp;lt;/value&amp;gt;&lt;br /&gt;
         &amp;lt;value name=&amp;quot;pm&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;value name=&amp;quot;style&amp;quot;&amp;gt;static&amp;lt;/value&amp;gt;&lt;br /&gt;
                &amp;lt;value name=&amp;quot;max_children&amp;quot;&amp;gt;1&amp;lt;/value&amp;gt;&lt;br /&gt;
                &amp;lt;value name=&amp;quot;apache_like&amp;quot;&amp;gt;&lt;br /&gt;
                       &amp;lt;value name=&amp;quot;StartServers&amp;quot;&amp;gt;20&amp;lt;/value&amp;gt;&lt;br /&gt;
                       &amp;lt;value name=&amp;quot;MinSpareServers&amp;quot;&amp;gt;5&amp;lt;/value&amp;gt;&lt;br /&gt;
                       &amp;lt;value name=&amp;quot;MaxSpareServers&amp;quot;&amp;gt;35&amp;lt;/value&amp;gt;&lt;br /&gt;
                &amp;lt;/value&amp;gt;&lt;br /&gt;
         &amp;lt;/value&amp;gt;&lt;br /&gt;
         &amp;lt;value name=&amp;quot;request_execution_timeout&amp;quot;&amp;gt;31s&amp;lt;/value&amp;gt;&lt;br /&gt;
         &amp;lt;value name=&amp;quot;rlimit_files&amp;quot;&amp;gt;1024&amp;lt;/value&amp;gt;&lt;br /&gt;
         &amp;lt;value name=&amp;quot;rlimit_core&amp;quot;&amp;gt;unlimited&amp;lt;/value&amp;gt;&lt;br /&gt;
         &amp;lt;value name=&amp;quot;chroot&amp;quot;&amp;gt;&amp;lt;/value&amp;gt;&lt;br /&gt;
         &amp;lt;value name=&amp;quot;chdir&amp;quot;&amp;gt;&amp;lt;/value&amp;gt;&lt;br /&gt;
         &amp;lt;value name=&amp;quot;catch_workers_output&amp;quot;&amp;gt;yes&amp;lt;/value&amp;gt;&lt;br /&gt;
         &amp;lt;value name=&amp;quot;max_requests&amp;quot;&amp;gt;500&amp;lt;/value&amp;gt;&lt;br /&gt;
         &amp;lt;value name=&amp;quot;allowed_clients&amp;quot;&amp;gt;localhost&amp;lt;/value&amp;gt;&lt;br /&gt;
         &amp;lt;value name=&amp;quot;environment&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;value name=&amp;quot;HOSTNAME&amp;quot;&amp;gt;$HOSTNAME&amp;lt;/value&amp;gt;&lt;br /&gt;
                &amp;lt;value name=&amp;quot;PATH&amp;quot;&amp;gt;/usr/local/bin:/usr/bin:/bin&amp;lt;/value&amp;gt;&lt;br /&gt;
                &amp;lt;value name=&amp;quot;TMP&amp;quot;&amp;gt;/tmp&amp;lt;/value&amp;gt;&lt;br /&gt;
                &amp;lt;value name=&amp;quot;TMPDIR&amp;quot;&amp;gt;/tmp&amp;lt;/value&amp;gt;&lt;br /&gt;
                &amp;lt;value name=&amp;quot;TEMP&amp;quot;&amp;gt;/tmp&amp;lt;/value&amp;gt;&lt;br /&gt;
                &amp;lt;value name=&amp;quot;OSTYPE&amp;quot;&amp;gt;$OSTYPE&amp;lt;/value&amp;gt;&lt;br /&gt;
                &amp;lt;value name=&amp;quot;MACHTYPE&amp;quot;&amp;gt;$MACHTYPE&amp;lt;/value&amp;gt;&lt;br /&gt;
                &amp;lt;value name=&amp;quot;MALLOC_CHECK_&amp;quot;&amp;gt;2&amp;lt;/value&amp;gt;&lt;br /&gt;
         &amp;lt;/value&amp;gt;&lt;br /&gt;
 &amp;lt;/section&amp;gt;&lt;br /&gt;
Сколько пользователей столько пулов.&lt;br /&gt;
&lt;br /&gt;
==== Xcache ====&lt;br /&gt;
&lt;br /&gt;
К сожалению, различные оптимизаторы из-за особенностей их инициализации нельзя загрузить отдельно для каждого пула. Поэтому кэш будет общим для всех. Конфигурационный файл для него присутствует в /usr/local/etc/php/, его можно поправить&lt;br /&gt;
&lt;br /&gt;
 vi /usr/local/etc/php/xcache.ini&lt;br /&gt;
Здесь можно поправить&lt;br /&gt;
&lt;br /&gt;
 ; Размер кэша, по умолчанию 64 Мб&lt;br /&gt;
 xcache.size  = 64M&lt;br /&gt;
 ; Размер кэша переменных, по умолчанию отключен&lt;br /&gt;
 xcache.var_size  = 0M&lt;br /&gt;
Исправляем эти параметры согласно желаниям и необходимости, остальное оставляем по умолчанию.&lt;br /&gt;
&lt;br /&gt;
У этого акселератора есть web-интерфейс на php, лежит в /usr/local/share/examples/xcache/admin/, при желании его можно подключить.&lt;br /&gt;
&lt;br /&gt;
=== Тестовый запуск ===&lt;br /&gt;
&lt;br /&gt;
Настало время протестировать нашу конструкцию&lt;br /&gt;
&lt;br /&gt;
 apachectl stop&lt;br /&gt;
 /usr/local/etc/rc.d/php-fpm forcestart&lt;br /&gt;
 /usr/local/etc/rc.d/lighttpd forcestart&lt;br /&gt;
Если все работает переходим к следующему разделу, если нет, проверяем все ли сделано правильно, мануал написан step-by-step и неработоспособность может быть вызвана только ошибкой при выполнении какого-нибудь из действий. Если все-таки все сделано верно, но все равно не работает, добро пожаловать [http://trac.lighttpd.net/trac/wiki/Docs сюда] и [http://groups.google.com/group/highload-php-ru сюда]. Ну а если совсем ничего не помогает&lt;br /&gt;
 /usr/local/etc/rc.d/lighttpd forcestop&lt;br /&gt;
 /usr/local/etc/rc.d/php-fpm forcestop&lt;br /&gt;
 apachectl start&lt;br /&gt;
&lt;br /&gt;
=== Последние штрихи ===&lt;br /&gt;
&lt;br /&gt;
Если все работает, нам остается только прописать только что настроенные сервисы в автозапуск при старте системы&lt;br /&gt;
&lt;br /&gt;
 vi /etc/rc.conf&lt;br /&gt;
 apache22_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
 lighttpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
 php_fpm_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
P.S. &amp;#039;&amp;#039;Стоит помнить, что патч php-fpm находится в стадии активной разработки, со всеми вытекающими последствиями.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[Категория:Сервисы]]&lt;/div&gt;</summary>
		<author><name>TTK</name></author>
	</entry>
</feed>