<?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>заметки на полях &#187; apache</title>
	<atom:link href="http://svdev.ru/tag/apache/feed/" rel="self" type="application/rss+xml" />
	<link>http://svdev.ru</link>
	<description>Блокнот разработчика</description>
	<lastBuildDate>Wed, 19 May 2010 07:42:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Nginx + PHP-FastCGI или избавляемся от apache</title>
		<link>http://svdev.ru/blog/nginx-php-fastcgi-remove-apache/</link>
		<comments>http://svdev.ru/blog/nginx-php-fastcgi-remove-apache/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 13:41:16 +0000</pubDate>
		<dc:creator>Дерябин Сергей</dc:creator>
				<category><![CDATA[неразобранное]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[PHP-FastCGI]]></category>

		<guid isPermaLink="false">http://svdev.ru/?p=110</guid>
		<description><![CDATA[В предыдущем шаге мы уже убрали apache слушать только локальные запросы (те которые приходят от nginx) теперь же пришло время убрать его совсем и заставить nginx обрабатывать все самому!

Для этого понадобится php5-cgi, если он еще не установлен, необходимо поставить:
1sudo apt-get install php5-cgi
Для запуска php потребуется утилита spawn-fcgi от lighttpd. Сейчас она идёт как отдельный проект [...]]]></description>
			<content:encoded><![CDATA[<p>В <a href="http://svdev.ru/?p=76">предыдущем шаге</a> мы уже убрали apache слушать только локальные запросы (те которые приходят от nginx) теперь же пришло время убрать его совсем и заставить nginx обрабатывать все самому!<br />
<span id="more-110"></span><br />
Для этого понадобится <code class="codecolorer bash default"><span class="bash">php5-cgi</span></code>, если он еще не установлен, необходимо поставить:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> php5-cgi</div></td></tr></tbody></table></div>
<p>Для запуска php потребуется утилита <code class="codecolorer bash default"><span class="bash">spawn-fcgi</span></code> от <code class="codecolorer bash default"><span class="bash">lighttpd</span></code>. Сейчас она идёт как отдельный проект и расположена по адресу <a href="http://redmine.lighttpd.net/projects/spawn-fcgi">http://redmine.lighttpd.net/projects/spawn-fcgi</a>. Можно получить последнюю версию оттуда, а можно воспользоваться советом <a href="http://moreintelligentweb.net/post/555">отсюда</a> и взять её из <code class="codecolorer bash default"><span class="bash">lighttpd</span></code>:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> ~<span style="color: #000000; font-weight: bold;">/</span>sources<br />
<span style="color: #7a0874; font-weight: bold;">cd</span> ~<span style="color: #000000; font-weight: bold;">/</span>sources<br />
<span style="color: #666666; font-style: italic;"># возможно будет уже и более свежая версия</span><br />
<span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>www.lighttpd.net<span style="color: #000000; font-weight: bold;">/</span>download<span style="color: #000000; font-weight: bold;">/</span>lighttpd-1.4.19.tar.bz2<br />
<span style="color: #c20cb9; font-weight: bold;">tar</span> jxvf lighttpd-1.4.19.tar.bz2<br />
<span style="color: #666666; font-style: italic;"># необходимые пакеты для установочного скрипта</span><br />
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> libpcre3-dev libbz2-dev<br />
<span style="color: #7a0874; font-weight: bold;">cd</span> lighttpd-1.4.19<br />
<span style="color: #666666; font-style: italic;"># здесь может возникнуть ошибка, но и тут же предлагается решение - </span><br />
<span style="color: #666666; font-style: italic;"># конфигурировать с параметром --without-zlib</span><br />
.<span style="color: #000000; font-weight: bold;">/</span>configure <span style="color: #660033;">--without-zlib</span><br />
<span style="color: #c20cb9; font-weight: bold;">make</span><br />
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">cp</span> src<span style="color: #000000; font-weight: bold;">/</span>spawn-fcgi <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>spawn-fcgi<br />
<span style="color: #666666; font-style: italic;"># И удалим за собой ненужныеболее файлы </span><br />
<span style="color: #7a0874; font-weight: bold;">cd</span> ~<span style="color: #000000; font-weight: bold;">/</span><br />
<span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-Rf</span> sources<span style="color: #000000; font-weight: bold;">/</span></div></td></tr></tbody></table></div>
<p>Таким образом, или взяв отдельный пакет, но <code class="codecolorer bash default"><span class="bash">spawn-fcgi</span></code> у нас получился установлен. Теперь необходимо все это дело запускать. Сделаем скрипт, который будет устанавливать дополнительные управляющие переменные и запускать <code class="codecolorer bash default"><span class="bash">php5-cgi</span></code>:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">vim</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>php-fastcgi</div></td></tr></tbody></table></div>
<p>и вставляем:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">#!/bin/sh</span><br />
<span style="color: #666666; font-style: italic;"># сколько процессов запускать</span><br />
<span style="color: #007800;">PHP_FCGI_CHILDREN</span>=<span style="color: #000000;">3</span><br />
<span style="color: #666666; font-style: italic;"># через сколько обработанных запросов перезапускать экземпляр</span><br />
<span style="color: #007800;">PHP_FCGI_MAX_REQUESTS</span>=<span style="color: #000000;">1000</span><br />
<span style="color: #7a0874; font-weight: bold;">exec</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>php5-cgi</div></td></tr></tbody></table></div>
<p>Скрипт для запуска <code class="codecolorer bash default"><span class="bash">php5-cgi</span></code> готов, теперь нам нужен скрипт, для запуска <code class="codecolorer bash default"><span class="bash">spawn-fcgi</span></code>, который будет дергать уже наш скрипт для установки переменных и запуска <code class="codecolorer bash default"><span class="bash">php5-cgi</span></code>:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">vim</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>init-fastcgi</div></td></tr></tbody></table></div>
<p>и вставляем сюда:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">#!/bin/bash</span><br />
<span style="color: #007800;">PHP_SCRIPT</span>=<span style="color: #ff0000;">&quot;/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php-fastcgi&quot;</span><br />
<span style="color: #007800;">RETVAL</span>=<span style="color: #000000;">0</span><br />
<span style="color: #000000; font-weight: bold;">case</span> <span style="color: #ff0000;">&quot;$1&quot;</span> <span style="color: #000000; font-weight: bold;">in</span><br />
start<span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
<span style="color: #007800;">$PHP_SCRIPT</span><br />
<span style="color: #007800;">RETVAL</span>=<span style="color: #007800;">$?</span><br />
<span style="color: #000000; font-weight: bold;">;;</span><br />
stop<span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
<span style="color: #c20cb9; font-weight: bold;">killall</span> <span style="color: #660033;">-9</span> php5-cgi<br />
<span style="color: #007800;">RETVAL</span>=<span style="color: #007800;">$?</span><br />
<span style="color: #000000; font-weight: bold;">;;</span><br />
restart<span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
<span style="color: #c20cb9; font-weight: bold;">killall</span> <span style="color: #660033;">-9</span> php5-cgi<br />
<span style="color: #007800;">$PHP_SCRIPT</span><br />
<span style="color: #007800;">RETVAL</span>=<span style="color: #007800;">$?</span><br />
<span style="color: #000000; font-weight: bold;">;;</span><br />
<span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Usage: sudo /etc/init.d/init-fastcgi {start|stop|restart}&quot;</span><br />
<span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">1</span><br />
<span style="color: #000000; font-weight: bold;">;;</span><br />
<span style="color: #000000; font-weight: bold;">esac</span><br />
<span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #007800;">$RETVAL</span></div></td></tr></tbody></table></div>
<p>Осталось только сделать оба новых скрипта доступных для запуска:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #000000;">755</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>php-fastcgi<br />
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #000000;">755</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>init-fastcgi</div></td></tr></tbody></table></div>
<p>Теперь можно попробовать запустить наш <code class="codecolorer bash default"><span class="bash">FastCGI</span></code>:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>init-fastcgi start<br />
<span style="color: #666666; font-style: italic;"># В ответ должно получится примерно следующее:</span><br />
spawn-fcgi.c.197: child spawned successfully: PID: <span style="color: #000000;">16428</span></div></td></tr></tbody></table></div>
<p>Осталось только добавит наш скрипт в автозагрузку:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> update-rc.d init-fastcgi defaults</div></td></tr></tbody></table></div>
<p>Теперь надо подправить все конфиги, что бы nginx обрабатывал PHP сам, а не передавал их на apache. У меня в конфиге</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">vim</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>sites-available<span style="color: #000000; font-weight: bold;">/</span>svdev.ru</div></td></tr></tbody></table></div>
<p>получилось примерно следующее:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">server <span style="color: #7a0874; font-weight: bold;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; listen <span style="color: #000000;">80</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; server_name www.svdev.ru;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># здесь при заходе на www.svdev.ru происходит редирект на svdev.ru</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; rewrite ^<span style="color: #7a0874; font-weight: bold;">&#40;</span>.<span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> http:<span style="color: #000000; font-weight: bold;">//</span>svdev.ru<span style="color: #007800;">$1</span> permanent;<br />
<span style="color: #7a0874; font-weight: bold;">&#125;</span><br />
<br />
server <span style="color: #7a0874; font-weight: bold;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; listen &nbsp; <span style="color: #000000;">80</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; server_name svdev.ru;<br />
&nbsp; &nbsp; &nbsp; &nbsp; error_log <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>svdev.ru<span style="color: #000000; font-weight: bold;">/</span>logs<span style="color: #000000; font-weight: bold;">/</span>error.log warn;<br />
&nbsp; &nbsp; &nbsp; &nbsp; access_log &nbsp;<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; root <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>svdev.ru<span style="color: #000000; font-weight: bold;">/</span>htdocs;<br />
&nbsp; &nbsp; &nbsp; &nbsp; charset utf-<span style="color: #000000;">8</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># страницы с ошибками, вместо стандартных, путь указывается от root (выше)</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; error_page &nbsp; &nbsp; &nbsp;<span style="color: #000000;">404</span> &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">/</span>error<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">404</span>.html;<br />
&nbsp; &nbsp; &nbsp; &nbsp; error_page &nbsp; &nbsp; &nbsp;<span style="color: #000000;">403</span> &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">/</span>error<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">403</span>.html;<br />
&nbsp; &nbsp; &nbsp; &nbsp; error_page &nbsp; &nbsp; &nbsp;<span style="color: #000000;">500</span> &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">/</span>error<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">500</span>.html;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; location ~ .<span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>gif<span style="color: #000000; font-weight: bold;">|</span>jpg<span style="color: #000000; font-weight: bold;">|</span>jpeg<span style="color: #000000; font-weight: bold;">|</span>png<span style="color: #000000; font-weight: bold;">|</span>ico<span style="color: #000000; font-weight: bold;">|</span>css<span style="color: #000000; font-weight: bold;">|</span>swf<span style="color: #000000; font-weight: bold;">|</span>js<span style="color: #000000; font-weight: bold;">|</span>html<span style="color: #000000; font-weight: bold;">|</span>htm<span style="color: #7a0874; font-weight: bold;">&#41;</span>$ <span style="color: #7a0874; font-weight: bold;">&#123;</span> <span style="color: #7a0874; font-weight: bold;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># Для wordpess - это директория с upload и по умолчанию получится</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># что залив php скрипт можно будет выполнить его по прямой ссылке &nbsp; &nbsp; &nbsp; &nbsp;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; location ~ wp-content<span style="color: #000000; font-weight: bold;">/</span>uploads<span style="color: #000000; font-weight: bold;">/</span>.<span style="color: #000000; font-weight: bold;">*</span>\.php <span style="color: #7a0874; font-weight: bold;">&#123;</span> <span style="color: #7a0874; font-weight: bold;">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; location ~ \.php$<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; include &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>fastcgi_params;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_param SCRIPT_FILENAME <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>svdev.ru<span style="color: #000000; font-weight: bold;">/</span>htdocs<span style="color: #007800;">$fastcgi_script_name</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_param QUERY_STRING &nbsp; &nbsp;<span style="color: #007800;">$query_string</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_pass &nbsp;127.0.0.1:<span style="color: #000000;">9000</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># Директива определяет что ответы FastCGI-сервера с кодом больше или равные 400 </span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># перенаправлять на обработку nginx'у с помощью директивы error_page</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_intercept_errors on;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">break</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; location <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_index index.php;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_pass &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;127.0.0.1:<span style="color: #000000;">9000</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_param SCRIPT_FILENAME <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>svdev.ru<span style="color: #000000; font-weight: bold;">/</span>htdocs<span style="color: #007800;">$fastcgi_script_name</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_param QUERY_STRING &nbsp; &nbsp;<span style="color: #007800;">$query_string</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; include &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>fastcgi_params;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fastcgi_intercept_errors on;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">&#125;</span><br />
<span style="color: #7a0874; font-weight: bold;">&#125;</span></div></td></tr></tbody></table></div>
<p>и на этом можно пока остановиться. Теперь <code class="codecolorer bash default"><span class="bash">apache</span></code> можно окончательно удалить с сервера. <img src='http://svdev.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> remove apache2</div></td></tr></tbody></table></div>
]]></content:encoded>
			<wfw:commentRss>http://svdev.ru/blog/nginx-php-fastcgi-remove-apache/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Настройка nginx + apache на debian</title>
		<link>http://svdev.ru/blog/setup-nginx-apache-under-debian/</link>
		<comments>http://svdev.ru/blog/setup-nginx-apache-under-debian/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 20:24:44 +0000</pubDate>
		<dc:creator>Дерябин Сергей</dc:creator>
				<category><![CDATA[неразобранное]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[nginx]]></category>

		<guid isPermaLink="false">http://svdev.ru/?p=76</guid>
		<description><![CDATA[Основная задача &#8211; что бы apache слушал запросы на
127.0.0.1:81 #порт можно взять и другой, к примеру 8080
а nginx слушал запросы с внешних адресов на 80 порту, разбирал статику или еще какие действия выполнял, а остальные запросы прокидывал на apache на локальный адрес 127.0.0.1 и 81 порт

Установка nginx:
1apt-get install nginx
Сначала настроим nginx для работы, дефолтный конфиг [...]]]></description>
			<content:encoded><![CDATA[<p>Основная задача &#8211; что бы apache слушал запросы на<br />
<code class="codecolorer bash default"><span class="bash">127.0.0.1:<span style="color: #000000;">81</span> <span style="color: #666666; font-style: italic;">#порт можно взять и другой, к примеру 8080</span></span></code><br />
а nginx слушал запросы с внешних адресов на 80 порту, разбирал статику или еще какие действия выполнял, а остальные запросы прокидывал на apache на локальный адрес 127.0.0.1 и 81 порт</p>
<p><span id="more-76"></span></p>
<p>Установка nginx:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> nginx</div></td></tr></tbody></table></div>
<p>Сначала настроим nginx для работы, дефолтный конфиг и создадим конфиги для все используемых сайтов.<br />
В самом конфиге (<code class="codecolorer bash default"><span class="bash"><span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>nginx.conf</span></code>) получилось следующее:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">user www-data;<br />
worker_processes &nbsp;<span style="color: #000000;">1</span>;<br />
<br />
error_log &nbsp;<span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>error.log;<br />
pid &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>run<span style="color: #000000; font-weight: bold;">/</span>nginx.pid;<br />
<br />
events <span style="color: #7a0874; font-weight: bold;">&#123;</span><br />
worker_connections &nbsp;<span style="color: #000000;">1024</span>;<br />
<span style="color: #7a0874; font-weight: bold;">&#125;</span><br />
<br />
http <span style="color: #7a0874; font-weight: bold;">&#123;</span><br />
include &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>mime.types;<br />
default_type &nbsp;application<span style="color: #000000; font-weight: bold;">/</span>octet-stream;<br />
server_names_hash_bucket_size <span style="color: #000000;">64</span>;<br />
access_log &nbsp;<span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>access.log;<br />
<br />
sendfile &nbsp; &nbsp; &nbsp; &nbsp;on;<br />
<br />
keepalive_timeout &nbsp;<span style="color: #000000;">65</span>;<br />
tcp_nodelay &nbsp; &nbsp; &nbsp; &nbsp;on;<br />
<br />
<span style="color: #c20cb9; font-weight: bold;">gzip</span> &nbsp;on;<br />
<br />
include <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>conf.d<span style="color: #000000; font-weight: bold;">/*</span>.conf;<br />
include <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>sites-enabled<span style="color: #000000; font-weight: bold;">/*</span>;<br />
<span style="color: #7a0874; font-weight: bold;">&#125;</span></div></td></tr></tbody></table></div>
<p>И проверяем что не закралась ошибка:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> nginx <span style="color: #660033;">-t</span><br />
<span style="color: #7a0874; font-weight: bold;">&#91;</span>info<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000;">31015</span><span style="color: #666666; font-style: italic;">#0: the configuration file /etc/nginx/nginx.conf syntax is ok</span><br />
<span style="color: #7a0874; font-weight: bold;">&#91;</span>info<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000;">31015</span><span style="color: #666666; font-style: italic;">#0: the configuration file /etc/nginx/nginx.conf was tested successfully</span></div></td></tr></tbody></table></div>
<p>Далее правим дефолтный конфиг <code class="codecolorer bash default"><span class="bash"><span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>sites-available<span style="color: #000000; font-weight: bold;">/</span>default</span></code>, для всех запросов. Так как запросы, кроме определенных сайтов нам не нужны, повесим их переадресацию на заглушку <code class="codecolorer bash default"><span class="bash"><span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>nginx-default<span style="color: #000000; font-weight: bold;">/</span>index.html</span></code>, больше нам здесь ничего не надо &#8211; 404 можно перекидывать сюда же:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">server <span style="color: #7a0874; font-weight: bold;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; listen &nbsp; <span style="color: #000000;">80</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; server_name &nbsp;localhost;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; access_log &nbsp;<span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>localhost.access.log;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; location <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; root <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>nginx-default;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; index index.html;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; error_page &nbsp; &nbsp; &nbsp;<span style="color: #000000;">404</span> &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">/</span>index.html;<br />
<span style="color: #7a0874; font-weight: bold;">&#125;</span></div></td></tr></tbody></table></div>
<p>В итоге все неразобранные запросы попадут на нашу заглушку: <a href="http://77.220.185.16/">http://77.220.185.16/</a>.</p>
<p>Далее создаем настройки для всех поддерживаемых ресурсов, по аналогии с apache конфиги хранятся в <code class="codecolorer bash default"><span class="bash"><span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>sites-available<span style="color: #000000; font-weight: bold;">/</span></span></code>, а подключенные в <code class="codecolorer bash default"><span class="bash"><span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>sites-enabled<span style="color: #000000; font-weight: bold;">/</span></span></code>. Создаем <code class="codecolorer bash default"><span class="bash"><span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>sites-available<span style="color: #000000; font-weight: bold;">/</span>svdev.ru</span></code>:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">server <span style="color: #7a0874; font-weight: bold;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; listen &nbsp; <span style="color: #000000;">80</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; server_name svdev.ru www.svdev.ru;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; access_log &nbsp;<span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>svdev.ru<span style="color: #000000; font-weight: bold;">/</span>logs<span style="color: #000000; font-weight: bold;">/</span>nginx-access.log;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; location <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; proxy_pass &nbsp; &nbsp; &nbsp; &nbsp; http:<span style="color: #000000; font-weight: bold;">//</span>127.0.0.1:<span style="color: #000000;">81</span><span style="color: #000000; font-weight: bold;">/</span>; <span style="color: #666666; font-style: italic;"># делаем переадресацию запросов на apache</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; proxy_redirect &nbsp; &nbsp; off;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; proxy_set_header &nbsp; Host &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #007800;">$host</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># Эти настройки необходимы, что бы из скриптов было видно реальные IP пользователя, а не фронт-части</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; proxy_set_header &nbsp; X-Real-IP &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #007800;">$remote_addr</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; proxy_set_header &nbsp; X-Forwarded-For &nbsp;<span style="color: #007800;">$proxy_add_x_forwarded_for</span>;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; client_max_body_size &nbsp; &nbsp; &nbsp; 10m;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; client_body_buffer_size &nbsp; &nbsp;128k;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; proxy_connect_timeout &nbsp; &nbsp; &nbsp;<span style="color: #000000;">90</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; proxy_send_timeout &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;">90</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; proxy_read_timeout &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;">90</span>;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; proxy_buffer_size &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;4k;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; proxy_buffers &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000000;">4</span> 32k;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; proxy_busy_buffers_size &nbsp; &nbsp;64k;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; proxy_temp_file_write_size 64k;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">&#125;</span><br />
<span style="color: #7a0874; font-weight: bold;">&#125;</span></div></td></tr></tbody></table></div>
<p>Перовоначальные настройки позволяют просто перенаправлять запросы с nginx на apache. Настройкой правил для отдачи статики без участия apache и прочим займемся позже. После создания настроек их необходимо подключить, по аналогии apache утилит <code class="codecolorer bash default"><span class="bash">a2ensite</span></code> и <code class="codecolorer bash default"><span class="bash">a2dissite</span></code> нет и надо создать симлинк самому:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>sites-available<span style="color: #000000; font-weight: bold;">/</span>svdev.ru <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>sites-enabled<span style="color: #000000; font-weight: bold;">/</span>svdev.ru</div></td></tr></tbody></table></div>
<p>Далее заставляем apache слушать 81 порт с внутреннего интерфейса, поправив <code class="codecolorer bash default"><span class="bash"><span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>ports.conf</span></code>:</p>
<div class="codecolorer-container text vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">NameVirtualHost *:81<br />
Listen 127.0.0.1:81</div></td></tr></tbody></table></div>
<p>И необходимо подправить настройки хостов apache <code class="codecolorer bash default"><span class="bash"><span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>sites-available<span style="color: #000000; font-weight: bold;">/</span>svdev.ru</span></code>:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;"># заменить 80 порт на выбранный, у меня 81</span><br />
<span style="color: #000000; font-weight: bold;">&lt;</span>VirtualHost <span style="color: #000000; font-weight: bold;">*</span>:<span style="color: #000000;">81</span><span style="color: #000000; font-weight: bold;">&gt;</span></div></td></tr></tbody></table></div>
<p>Таким образом попасть на apache теперь можно только через nginx, т. е. снаружи он недоступен!</p>
<p>Для удобства необходимо еще установить пакет</p>
<code><strong>libapache2-mod-rpaf</strong> - module for Apache2 which takes the last IP from the 'X-Forwarded-For' header</code>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> libapache2-mod-rpaf</div></td></tr></tbody></table></div>
<p>Мне дополнительно настраивать ничего не пришлось, после установки в <code class="codecolorer php default"><span class="php"><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;REMOTE_ADDR&quot;</span><span style="color: #009900;">&#93;</span></span></code> начал подставляться реальный IP посетителя, вместо 127.0.0.1 Дополнительную информацию по модулю можно найти погуглив, в документации или по ссылкам ниже.</p>
<p>Далее настроим ротацию логов. Сначала для nginx, приятно был удивлен, увидев <code class="codecolorer bash default"><span class="bash"><span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>logrotate.d<span style="color: #000000; font-weight: bold;">/</span>nginx</span></code>, добавим туда еще один файл:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/*</span>.log <span style="color: #7a0874; font-weight: bold;">&#123;</span><br />
&nbsp; &nbsp; daily<br />
&nbsp; &nbsp; missingok<br />
&nbsp; &nbsp; rotate <span style="color: #000000;">2</span><br />
&nbsp; &nbsp; compress<br />
&nbsp; &nbsp; delaycompress<br />
&nbsp; &nbsp; notifempty<br />
&nbsp; &nbsp; create <span style="color: #000000;">640</span> root adm<br />
&nbsp; &nbsp; sharedscripts<br />
&nbsp; &nbsp; postrotate<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #660033;">-f</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>run<span style="color: #000000; font-weight: bold;">/</span>nginx.pid <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">||</span> <span style="color: #c20cb9; font-weight: bold;">kill</span> <span style="color: #660033;">-USR1</span> <span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>run<span style="color: #000000; font-weight: bold;">/</span>nginx.pid<span style="color: #000000; font-weight: bold;">`</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>error.log.1 <span style="color: #000000; font-weight: bold;">|</span> mail root <br />
&nbsp; &nbsp; endscript<br />
<span style="color: #7a0874; font-weight: bold;">&#125;</span></div></td></tr></tbody></table></div>
<p><code class="codecolorer bash default"><span class="bash"><span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>error.log.1 <span style="color: #000000; font-weight: bold;">|</span> mail root</span></code> &#8211; таким образом данные из последнего обработанного файла будут отправлену на почту рута, а уж куда она придет можно настраивать в <code class="codecolorer bash default"><span class="bash"><span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>aliases</span></code></p>
<h3>Полезные ссылки</h3>
<p><a href="http://sysoev.ru/nginx/" target="_blank">Официальная документация по nginx</a><br />
<a href="http://www.opennet.ru/base/net/nginx_ipb.txt.html" target="_blank">OperNET: Настройка совместной работы Apache и nginx (web nginx http)</a><br />
<a href="http://server-help.ru/?p=14" target="_blank">Установка и настройка Nginx.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://svdev.ru/blog/setup-nginx-apache-under-debian/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
