<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0">
<channel>
<title>FreeSource - Статьи/PhpFastCGI</title>
<link>http://freesource.info/wiki/Статьи/PhpFastCGI</link>
<description>History/revisions of FreeSource/Статьи/PhpFastCGI</description>
<language>en-us</language>
<item>
<title>2007-08-30 08:13:38</title>
<link>http://freesource.info/wiki/Stat'i/PhpFastCGI/show?time=2007-08-30+08%3A13%3A38</link>
<description>&lt;div class="pageBefore">&lt;img src="http://freesource.info/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a name=".stat_i.phpfastcgi" href="http://freesource.info/wiki/Stat'i/PhpFastCGI&amp;" class="">/Статьи&amp;nbsp;/&amp;nbsp;Php&amp;nbsp;Fast&amp;nbsp;CGI&lt;/a> за &lt;a href="http://freesource.info/wiki/Stat'i/PhpFastCGI?time=2007-08-30+08%3A13%3A38">2007-08-30 08:13:38&lt;/a> и &lt;a href="http://freesource.info/wiki/Stat'i/PhpFastCGI">2007-08-31 13:46:07&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;a name="h973-1">&lt;/a>&lt;h2> Ссылки &lt;/h2>
&lt;ul>&lt;li> &lt;span class="missingpage">nginx + php-fpm&lt;/span>&lt;a href="http://freesource.info/wiki/NginxPhpFpm/edit?add=1&amp;" title="Создать эту страницу">?&lt;/a> &lt;a href="http://zmeuka.livejournal.com/160853.html?thread=1243989" target="_blank" title="Внешняя ссылка (откроется в новом окне)" class="outerlink">&lt;img src="http://freesource.info/wiki/themes/coffee/icons/web.gif" alt="" border="0" />оригинал&lt;/a>&lt;/li>&lt;/ul>
&lt;!--notypo-->{{backlinks}}&lt;!--/notypo-->&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2006-04-22 20:22:20</title>
<link>http://freesource.info/wiki/Stat'i/PhpFastCGI/show?time=2006-04-22+20%3A22%3A20</link>
<description>&lt;div class="pageBefore">&lt;img src="http://freesource.info/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://freesource.info/wiki/Stat'i/PhpFastCGI&amp;" class="">/Статьи&amp;nbsp;/&amp;nbsp;Php&amp;nbsp;Fast&amp;nbsp;CGI&lt;/a> за &lt;a href="http://freesource.info/wiki/Stat'i/PhpFastCGI?time=2006-04-22+20%3A22%3A20">2006-04-22 20:22:20&lt;/a> и &lt;a href="http://freesource.info/wiki/Stat'i/PhpFastCGI?time=2007-08-30+08%3A13%3A38">2007-08-30 08:13:38&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">Поехали. Наша цель &amp;ndash; nginx   php-cgi   imp&amp;nbsp;(типа будем им&amp;nbsp;читать почту вместо thun&lt;br />
1000&lt;br />
derbird ;)&lt;br />
&lt;ul>&lt;li> Создаем /var/run/spawn-fcgi &lt;/li>&lt;/ul>&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">Поехали. Наша цель &amp;ndash; nginx + php-cgi + imp&amp;nbsp;(типа будем им&amp;nbsp;читать почту вместо thunderbird ;)&lt;br />
&lt;ul>&lt;li> Создаем /var/run/spawn-fcgi &amp;&amp; service spawn-fcgi start и&amp;nbsp;смотрим, что&amp;nbsp;php-cgi у&amp;nbsp;нас теперь болтается в&amp;nbsp;памяти
&lt;/li>&lt;li> Редактируем файл nginx.ini. У&amp;nbsp;меня секция про&amp;nbsp;&lt;span class="missingpage">Fast&amp;nbsp;CGI&lt;/span>&lt;a href="http://freesource.info/wiki/FastCGI/edit?add=1&amp;" title="Создать эту страницу">?&lt;/a> такого вида:&lt;/li>&lt;/ul>
&lt;br />
.....&lt;br />
&lt;!--notypo-->&lt;textarea class="code" rows="15" readonly="readonly">location ~* ^.+\.php$ {
        fastcgi_pass   &amp;lt;fcgi host&amp;gt;:&amp;lt;fcgi port&amp;gt;;
        fastcgi_index  index.php;

        fastcgi_param  SCRIPT_FILENAME  /var/www/html/forum$fastcgi_script_name;
        fastcgi_param  QUERY_STRING     $query_string;
        fastcgi_param  REQUEST_METHOD   $request_method;
        fastcgi_param  CONTENT_TYPE     $content_type;
        fastcgi_param  CONTENT_LENGTH   $content_length;

        # жрет ресурсы, без нужды не использоват
        fastcgi_param  REMOTE_ADDR      $remote_addr;
        fastcgi_param  SERVER_PORT          $server_port;
        fastcgi_param  REDIRECT_STATUS  200;
        # специально для php-cgi без этого PHP_SELF пустая
        fastcgi_param  SCRIPT_NAME      $fastcgi_script_name;
}&lt;/textarea>&lt;!--/notypo-->&lt;br />
&lt;ul>&lt;li> Запускаем nginx, проверяем что&amp;nbsp;&lt;span class="missingpage">Fast&amp;nbsp;CGI&lt;/span>&lt;a href="http://freesource.info/wiki/FastCGI/edit?add=1&amp;" title="Создать эту страницу">?&lt;/a> работает (например, через тествую страницу с&amp;nbsp;phpinfo()
&lt;/li>&lt;li> Ставим imp, рисуем там&amp;nbsp;ящики и&amp;nbsp;работаем ;) Для&amp;nbsp;него с&amp;nbsp;nginx есть  несколько хаков в&amp;nbsp;конфиге:&lt;/li>&lt;/ul>
&lt;!--notypo-->&lt;textarea class="code" rows="15" readonly="readonly">root /var/www/html/addon-modules/horde;
        index index.php;
        location = / {
            root /var/www/html/addon-modules/horde/imp;
            index index.php;
        }

        location / {
            rewrite ^/horde(.*)$ $1 break;
            rewrite ^/favicon.ico$ /graphics/favicon.ico break;
        }
        location ~* \.php {
            rewrite ^/horde(.*) $1 break;
            .....
        }&lt;/textarea>&lt;!--/notypo-->&lt;br />
Заходить на&amp;nbsp;&lt;a href="http://..../imp" target="_blank" title="Внешняя ссылка (откроется в новом окне)" class="outerlink">&lt;img src="http://freesource.info/wiki/themes/coffee/icons/web.gif" alt="" border="0" />http://..../imp&lt;/a>.&lt;br />
&lt;a name="h973-1">&lt;/a>&lt;h2>Заключение&lt;/h2>
Собвственно оно&amp;nbsp;работает. Даже неплохо. Можно поставить phpa и&amp;nbsp;даже немного ускорить процесс. Из&amp;nbsp;замеченных неприятностей &amp;ndash; теперь php&amp;nbsp;лучше лишний раз&amp;nbsp;не&amp;nbsp;дергать (ибо слишком много запросов на&amp;nbsp;порт залипает). workaround &amp;ndash; использовать сокет, но&amp;nbsp;это не&amp;nbsp;совсем удобно. т.к придется тогда и&amp;nbsp;nginx под&amp;nbsp;пользвателем fcgi запускать, что&amp;nbsp;несекурно. Зато теперь можно мониторить fcgi через monit или&amp;nbsp;запускать его&amp;nbsp;как все&amp;nbsp;взрослые сервисы через rc.d&lt;br />
(C) Konstantin A. Lepikhov, lakostis at&amp;nbsp;altlinux.org&lt;a name="h973-2">&lt;/a>&lt;h2> Ссылки &lt;/h2>
&lt;ul>&lt;li> &lt;a href="http://blog.kovyrin.net/2006/04/17/typical-nginx-configurations/" target="_blank" title="Внешняя ссылка (откроется в новом окне)" class="outerlink">&lt;img src="http://freesource.info/wiki/themes/coffee/icons/web.gif" alt="" border="0" />Обзор типичных конфигураций для&amp;nbsp;nginx&lt;/a>&lt;/li>&lt;/ul>
&lt;br />
&lt;!--notypo-->{{backlinks}}&lt;!--/notypo-->&lt;br />&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2005-12-01 14:20:33</title>
<link>http://freesource.info/wiki/Stat'i/PhpFastCGI/show?time=2005-12-01+14%3A20%3A33</link>
<description>&lt;div class="pageBefore">&lt;img src="http://freesource.info/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://freesource.info/wiki/Stat'i/PhpFastCGI&amp;" class="">/Статьи&amp;nbsp;/&amp;nbsp;Php&amp;nbsp;Fast&amp;nbsp;CGI&lt;/a> за &lt;a href="http://freesource.info/wiki/Stat'i/PhpFastCGI?time=2005-12-01+14%3A20%3A33">2005-12-01 14:20:33&lt;/a> и &lt;a href="http://freesource.info/wiki/Stat'i/PhpFastCGI?time=2006-04-22+20%3A22%3A20">2006-04-22 20:22:20&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;a name="h973-1">&lt;/a>&lt;h2> Ссылки &lt;/h2>
&lt;ul>&lt;li> &lt;a href="http://blog.kovyrin.net/2006/04/17/typical-nginx-configurations/" target="_blank" title="Внешняя ссылка (откроется в новом окне)" class="outerlink">&lt;img src="http://freesource.info/wiki/themes/coffee/icons/web.gif" alt="" border="0" />Обзор типичных конфигураций для&amp;nbsp;nginx&lt;/a>&lt;/li>&lt;/ul>&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2005-07-15 16:27:09</title>
<link>http://freesource.info/wiki/Stat'i/PhpFastCGI/show?time=2005-07-15+16%3A27%3A09</link>
<description>&lt;div class="pageBefore">&lt;img src="http://freesource.info/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://freesource.info/wiki/Stat'i/PhpFastCGI&amp;" class="">/Статьи&amp;nbsp;/&amp;nbsp;Php&amp;nbsp;Fast&amp;nbsp;CGI&lt;/a> за &lt;a href="http://freesource.info/wiki/Stat'i/PhpFastCGI?time=2005-07-15+16%3A27%3A09">2005-07-15 16:27:09&lt;/a> и &lt;a href="http://freesource.info/wiki/Stat'i/PhpFastCGI?time=2005-12-01+14%3A20%3A33">2005-12-01 14:20:33&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">Теперь самое веселое &amp;ndash; нам&amp;nbsp;нужно самостоятельно чем-то запускать собранный php-cgi. Для&amp;nbsp;этих целей все&amp;nbsp;рекомендуют использовать spawn-fcgi из&amp;nbsp;пакета lighttpd, фиг&amp;nbsp;с&amp;nbsp;ним, будем использовать его. Но&amp;nbsp;тут есть одна трабла &amp;ndash; конечно, можно spawn'ить его&amp;nbsp;руками (через .sh обвязку вида spawn-php.sh из&amp;nbsp;того же&amp;nbsp;lighttpd), но&amp;nbsp;это некошерно. Поэтому я&amp;nbsp;маленько подхачил spawn-fcgi, чтобы он&amp;nbsp;умел делать pidfile. Патчик есть тут&amp;nbsp;&amp;ndash; &lt;a href="http://lakostis.elektrostal.ru/patches/spawn-fcgi.c-pidfile.diff" target="_blank" title="Внешняя ссылка (откроется в новом окне)" class="outerlink">&lt;img src="http://freesource.info/wiki/themes/coffee/icons/web.gif" alt="" border="0" />http://lakostis.elektrostal.ru/patches/spawn-fcgi.c-pidfile.diff&lt;/a> Далее уже&amp;nbsp;дело техники, и&amp;nbsp;вот, у&amp;nbsp;нас есть init.d запускалка fcgi приложений &amp;ndash; &lt;a href="http://lakostis.elektrostal.ru/src/spawn-fcgi.init" target="_blank" title="Внешняя ссылка (откроется в новом окне)" class="outerlink">&lt;img src="http://freesource.info/wiki/themes/coffee/icons/web.gif" alt="" border="0" />http://lakostis.elektrostal.ru/src/spawn-fcgi.init&lt;/a> и&amp;nbsp;ее конфигурационный файл &lt;a href="http://lakostis.elektrostal.ru/src/spawn-fcgi.sysconfig" target="_blank" title="Внешняя ссылка (откроется в новом окне)" class="outerlink">&lt;img src="http://freesource.info/wiki/themes/coffee/icons/web.gif" alt="" border="0" />http://lakostis.elektrostal.ru/src/spawn-fcgi.sysconfig&lt;/a> (кладется в&amp;nbsp;/etc/sysconfig под&amp;nbsp;именем spawn-fcgi).&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">Теперь самое веселое &amp;ndash; нам&amp;nbsp;нужно самостоятельно чем-то запускать собранный php-cgi. Для&amp;nbsp;этих целей все&amp;nbsp;рекомендуют использовать spawn-fcgi из&amp;nbsp;пакета lighttpd, фиг&amp;nbsp;с&amp;nbsp;ним, будем использовать его. Но&amp;nbsp;тут есть одна трабла &amp;ndash; конечно, можно spawn'ить его&amp;nbsp;руками (через .sh обвязку вида spawn-php.sh из&amp;nbsp;того же&amp;nbsp;lighttpd), но&amp;nbsp;это некошерно. Поэтому я&amp;nbsp;маленько подхачил spawn-fcgi, чтобы он&amp;nbsp;умел делать pidfile. Патчик есть тут&amp;nbsp;&amp;ndash; &lt;a href="http://lakostis.elektrostal.ru/patches/spawn-fcgi.c-pidfile.diff" target="_blank" title="Внешняя ссылка (откроется в новом окне)" class="outerlink">&lt;img src="http://freesource.info/wiki/themes/coffee/icons/web.gif" alt="" border="0" />http://lakostis.elektrostal.ru/patches/spawn-fcgi.c-pidfile.diff&lt;/a> Далее уже&amp;nbsp;дело техники, и&amp;nbsp;вот, у&amp;nbsp;нас есть init.d запускалка fcgi приложений &amp;ndash; &lt;a href="http://lakostis.elektrostal.ru/src/spawn-fcgi" target="_blank" title="Внешняя ссылка (откроется в новом окне)" class="outerlink">&lt;img src="http://freesource.info/wiki/themes/coffee/icons/web.gif" alt="" border="0" />http://lakostis.elektrostal.ru/src/spawn-fcgi&lt;/a> и&amp;nbsp;ее конфигурационный файл &lt;a href="http://lakostis.elektrostal.ru/src/spawn-fcgi.sysconfig" target="_blank" title="Внешняя ссылка (откроется в новом окне)" class="outerlink">&lt;img src="http://freesource.info/wiki/themes/coffee/icons/web.gif" alt="" border="0" />http://lakostis.elektrostal.ru/src/spawn-fcgi.sysconfig&lt;/a> (кладется в&amp;nbsp;/etc/sysconfig под&amp;nbsp;именем spawn-fcgi).&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2005-07-15 16:26:54</title>
<link>http://freesource.info/wiki/Stat'i/PhpFastCGI/show?time=2005-07-15+16%3A26%3A54</link>
<description>&lt;div class="pageBefore">&lt;img src="http://freesource.info/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://freesource.info/wiki/Stat'i/PhpFastCGI&amp;" class="">/Статьи&amp;nbsp;/&amp;nbsp;Php&amp;nbsp;Fast&amp;nbsp;CGI&lt;/a> за &lt;a href="http://freesource.info/wiki/Stat'i/PhpFastCGI?time=2005-07-15+16%3A26%3A54">2005-07-15 16:26:54&lt;/a> и &lt;a href="http://freesource.info/wiki/Stat'i/PhpFastCGI?time=2005-07-15+16%3A27%3A09">2005-07-15 16:27:09&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;!--notypo-->{{backlinks}}&lt;!--/notypo-->&lt;/div>&lt;/div>
</description>
</item>
</channel>
</rss>
