<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Noname yet &#187; fastcgi</title>
	<atom:link href="http://dcsk.org.ua/tag/fastcgi/feed/" rel="self" type="application/rss+xml" />
	<link>http://dcsk.org.ua</link>
	<description></description>
	<lastBuildDate>Thu, 18 Feb 2010 22:00:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Грабли при использовании nginx+php(fcgi)</title>
		<link>http://dcsk.org.ua/2009/02/grabli-pri-ispolzovanii-nginxphpfcgi/</link>
		<comments>http://dcsk.org.ua/2009/02/grabli-pri-ispolzovanii-nginxphpfcgi/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 21:39:41 +0000</pubDate>
		<dc:creator>dcsk</dc:creator>
				<category><![CDATA[IT статьи]]></category>
		<category><![CDATA[fastcgi]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://dcsk.org.ua/?p=14</guid>
		<description><![CDATA[Q:  Не работают POST запросы в php при использовании nginx+php(fastcgi)
A: Надо дописать дополнительные параметры в конфигурации nginx`a:
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 SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param REQUEST_URI        $request_uri;
fastcgi_param DOCUMENT_URI       $document_uri;
fastcgi_param DOCUMENT_ROOT      $document_root;
fastcgi_param SERVER_PROTOCOL    $server_protocol;
fastcgi_param REMOTE_ADDR        $remote_addr;
fastcgi_param REMOTE_PORT        $remote_port;
fastcgi_param SERVER_ADDR        $server_addr;
fastcgi_param SERVER_PORT        $server_port;
Q: Ошибка при запуске сервера directive &#8220;rewrite&#8221; is not terminated by &#8220;;&#8221;
Посмотрим нa [...]]]></description>
			<content:encoded><![CDATA[<p>Q:  Не работают POST запросы в php при использовании nginx+php(fastcgi)</p>
<p>A: Надо дописать дополнительные параметры в конфигурации nginx`a:</p>
<blockquote><p>fastcgi_param QUERY_STRING     $query_string;<br />
fastcgi_param REQUEST_METHOD   $request_method;<br />
fastcgi_param CONTENT_TYPE     $content_type;<br />
fastcgi_param CONTENT_LENGTH   $content_length;<br />
fastcgi_param SCRIPT_NAME        $fastcgi_script_name;<br />
fastcgi_param REQUEST_URI        $request_uri;<br />
fastcgi_param DOCUMENT_URI       $document_uri;<br />
fastcgi_param DOCUMENT_ROOT      $document_root;<br />
fastcgi_param SERVER_PROTOCOL    $server_protocol;<br />
fastcgi_param REMOTE_ADDR        $remote_addr;<br />
fastcgi_param REMOTE_PORT        $remote_port;<br />
fastcgi_param SERVER_ADDR        $server_addr;<br />
fastcgi_param SERVER_PORT        $server_port;</p></blockquote>
<p>Q: Ошибка при запуске сервера <em>directive &#8220;rewrite&#8221; is not terminated by &#8220;;&#8221;</em></p>
<p>Посмотрим нa sysoev.ru и увидим в документации к rewrite такое:<em><br />
</em></p>
<blockquote><p>Если в регулярном выражении встречаются символы &#8220;}&#8221; или &#8220;;&#8221;, то всё выражение нужно заключить в одинарные или двойные кавычки.</p></blockquote>
<p>В моем случае использовалось выражение вида <em>([0-9a-f]{32}) </em> (md5 хеш в запросе) &#8211; и именно из-за <em>([0-9a-f]<strong>{</strong>32<strong>}</strong>) </em>возникала ошибка.</p>
]]></content:encoded>
			<wfw:commentRss>http://dcsk.org.ua/2009/02/grabli-pri-ispolzovanii-nginxphpfcgi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>nginx+php(FastCGI) под ubuntu</title>
		<link>http://dcsk.org.ua/2009/02/nginxphpfastcgi-pod-ubuntu/</link>
		<comments>http://dcsk.org.ua/2009/02/nginxphpfastcgi-pod-ubuntu/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 23:11:35 +0000</pubDate>
		<dc:creator>dcsk</dc:creator>
				<category><![CDATA[IT статьи]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[fastcgi]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://dcsk.org.ua/?p=3</guid>
		<description><![CDATA[Казалось бы &#8211; что может быть тривиальнее &#8211; поставить nginx с поддержкой php. Но оказывается что все не так просто: большая часть информации уже устарела или просто не работает, потому я решил обьеденить всю собранную информацию. (Использовался Ubuntu 8.04.2 LTS Hardy Heron)

1)Ставим инструментарий для сборки:

apt-get install php5-cli build-essential

Нюанс: я не знаю какой логикой руководствовались мейнтейнеры убунту, [...]]]></description>
			<content:encoded><![CDATA[<p>Казалось бы &#8211; что может быть тривиальнее &#8211; поставить nginx с поддержкой php. Но оказывается что все не так просто: большая часть информации уже устарела или просто не работает, потому я решил обьеденить всю собранную информацию. (Использовался Ubuntu 8.04.2 LTS Hardy Heron)</p>
<p><span id="more-3"></span></p>
<p>1)Ставим инструментарий для сборки:</p>
<blockquote>
<p class="command">apt-get install php5-cli build-essential</p>
</blockquote>
<p><em>Нюанс: я не знаю какой логикой руководствовались мейнтейнеры убунту, но факт в том что пакет php5 зависит от  libapache2-mod-php5, который в свою очередь тянет за собой весь апач, потому нам нужен именно php5-cgi.</em></p>
<p>2)Устанавливаем spawn-fcgi из состава lighttpd</p>
<blockquote><p>wget http://www.lighttpd.net/download/lighttpd-1.4.21.tar.gz<br />
tar -xvvf lighttpd-1.4.21.tar.gz<br />
./configure &amp;&amp; make</p></blockquote>
<p>Далее из-под рута копируем куда надо бинарники spawn-fcgi:</p>
<div class="codecolorer-container bash vibrant" style="overflow: auto; white-space: nowrap; width: 900px;">
<blockquote>
<div class="bash codecolorer" style="font-family: Monaco,Lucida Console,monospace;"><span class="kw2">cp</span> src<span class="sy0">/</span>spawn-fcgi <span class="sy0">/</span>usr<span class="sy0">/</span><span class="kw3">local</span><span class="sy0">/</span>bin<span class="sy0">/</span>spawn-fcgi<br />
<span class="kw2">cp</span> doc<span class="sy0">/</span>spawn-php.sh <span class="sy0">/</span>etc/init.d/spawn-php</div>
<div class="bash codecolorer" style="font-family: Monaco,Lucida Console,monospace;">chmod +x <span class="sy0">/</span>etc/init.d/spawn-php</div>
</blockquote>
</div>
<p>Да, есть более удобный метод, описаный <a href="http://blog.kovyrin.net/2006/05/30/nginx-php-fastcgi-howto/" target="_blank">тут</a>. (Запуск встроенного в PHP сервера FastCGI &#8211; метод, не требующий никаких дополнительных утилит.) Но у меня он банально не заработал:</p>
<blockquote><p>2009/02/27 23:24:27 [error] 14755#0: *19 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 192.168.0.102, server: home-test, URL: &#8220;/var/www/files/index.php&#8221;, upstream: &#8220;fastcgi://127.0.0.1:8888&#8243;, host: &#8220;home-test&#8221;</p></blockquote>
<p>3) Исправляем настройки spawn-php:</p>
<p>Обязательно:</p>
<blockquote><p>SPAWNFCGI=&#8221;/usr/local/bin/spawn-fcgi&#8221;<br />
FCGIPROGRAM=&#8221;/usr/lib/cgi-bin/php5&#8243;</p></blockquote>
<p>Желательно:</p>
<blockquote><p>USERID=www-data<br />
GROUPID=www-data<br />
FCGIPORT=&#8221;9999&#8243;</p></blockquote>
<p>Остальное.</p>
<p>4)Настраиваем nginx:</p>
<p>Для настройки nginx достаточно убрать комментарии с строк в файле /etc/nginx/sites-enabled/default , и получить:</p>
<blockquote><p>location ~ \.php$ {<br />
fastcgi_pass   127.0.0.1:9999;<br />
fastcgi_index  index.php;<br />
fastcgi_param  SCRIPT_FILENAME  $fastcgi_script_name;<br />
}</p></blockquote>
<p><em>includefastcgi_params я удалил, т.к. nginx не запускался с таким параметром.</em></p>
<p>5) За(пере)запускаем nginx и spawn-fcgi:</p>
<blockquote><p>/etc/init.d/spawn-php</p>
<p>/etc/init.d/nginx restart</p></blockquote>
<p>И получаем работающий php. Кто не знает, его работоспособность можно проверить простым кодом:</p>
<blockquote><p>&lt;?php<br />
phpinfo();<br />
?&gt;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://dcsk.org.ua/2009/02/nginxphpfastcgi-pod-ubuntu/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
