<?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>Mihalytch personal blog &#187; Оптимизация</title>
	<atom:link href="http://mihalytch.org.ua/optimization/feed" rel="self" type="application/rss+xml" />
	<link>http://mihalytch.org.ua</link>
	<description>Все о высоких технологиях</description>
	<lastBuildDate>Thu, 20 May 2010 07:56:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Настройка (оптимизация) apache под linux</title>
		<link>http://mihalytch.org.ua/unix/optimization-apache-under-linux.html</link>
		<comments>http://mihalytch.org.ua/unix/optimization-apache-under-linux.html#comments</comments>
		<pubDate>Mon, 01 Sep 2008 15:35:26 +0000</pubDate>
		<dc:creator>Mihalytch</dc:creator>
				<category><![CDATA[UNIX`o подобные]]></category>
		<category><![CDATA[Администрирование]]></category>
		<category><![CDATA[Оптимизация]]></category>
		<category><![CDATA[httpd]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://mihalytch.org.ua/unix/optimization-apache-under-linux.html</guid>
		<description><![CDATA[И снова возникло желание поделиться личным опытом! По воле судьбы довелось мне администрировать выделенный сервер. Со временем стало резко не хватать оперативной памяти на сервере. Естественно это сказалось на работе  web-сервера apache, что само собой вызвало перебои в работе сайта. Чтобы выяснить какой именно процесс "съедает" всю память, провел нехитрое расследование с помощью команды top [...]]]></description>
			<content:encoded><![CDATA[<p>И снова возникло желание поделиться личным опытом! По воле судьбы довелось мне администрировать выделенный сервер. Со временем стало резко не хватать оперативной памяти на сервере. Естественно это сказалось на работе  web-сервера apache, что само собой вызвало перебои в работе сайта.<span id="more-56"></span></p>
<p>Чтобы выяснить какой именно процесс "съедает" всю память, провел нехитрое расследование с помощью команды top (в *nix подобных системах эта команда выводит список выполняемых процессов).</p>
<p>Виной всему оказался httpd (он же apache), который создавал множество дочерних процессов. Перезапустив его, удалось временно (примерно на сутки) решить проблему. Далее, полистав немного интернет, решил оптимизировать настройки apache.</p>
<p>Для начала законнектимся по ssh. Теперь отредактируем файл настроек apaсhe: /etc/httpd/conf/httpd.conf</p>
<p><em>MaxKeepAliveRequest 300</em> - Рекомендуется увеличить этот параметр.<br />
<em>KeepAliveTimeout 5</em> - этот параметр указывает через сколько секунд серверу завершать соединение с клиентом.<br />
<em>MinSpareServers 5</em> - этот параметр указывает сколько серверу следует подготавливать дочерние процессы на сервере для обработки параллельных запросов.  Уменьшение этого параметра ведет к замедлению работы сайта, но высвобождает ресурсы сервера и наоборот.<br />
<em>MaxSpareServers 15</em> - максимальное количество дочерних процессов, которое разрешается создать серверу.<br />
<em>StartServers 5 </em>- количество серверов, которые запускает apache (максимальное значение этого параметра 64).<br />
<em>MaxClients 100</em> - максимальное количество одновременно подключённых пользователей.<br />
<em>MaxRequestsPerChild 100000</em> -максимальное количество запросов к одному процессу.<br />
<em>HostnameLookups off</em> - определение хостов посетителей для ускорения работы сервера. (On | Off)</p>
<p>Думаю, что вышеперечисленные параметры следует каждому подбирать индивидуально. В примере указаны значения параметров, установленные мной.</p>
<p>Далее можно отключить неиспользуемые модули web-сервера, просто закомментировав строку, где они подключаются.</p>
<p>Например:</p>
<pre class="brush: bash;">#LoadModule proxy_module modules/mod_proxy.so</pre>
<p>Затем сохраняем файл и перезапускаем apache в две команды:</p>
<pre class="brush: bash;">
# /etc/init.d/httpd stop 

# /etc/init.d/httpd start
</pre>
<p>Или в одну:</p>
<pre class="brush: bash;"># /etc/init.d/httpd restart</pre>
<img src="http://mihalytch.org.ua/?ak_action=api_record_view&id=56&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://mihalytch.org.ua/unix/optimization-apache-under-linux.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Спецификация robots.txt</title>
		<link>http://mihalytch.org.ua/optimization/robots-txt.html</link>
		<comments>http://mihalytch.org.ua/optimization/robots-txt.html#comments</comments>
		<pubDate>Wed, 27 Feb 2008 23:51:03 +0000</pubDate>
		<dc:creator>Mihalytch</dc:creator>
				<category><![CDATA[Оптимизация]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Mihalytch]]></category>

		<guid isPermaLink="false">http://mihalytch.org.ua/%d0%be%d0%bf%d1%82%d0%b8%d0%bc%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%8f/robots-txt.html</guid>
		<description><![CDATA[Путь к файлу robots.txt. Поскольку для некоторых сетевых операционных систем регистр символов в названии файла имеет значение, наименование файла robots.txt должно состоять из букв нижнего регистра (именно под таким именем он ищется поисковыми машинами). Это правило следует соблюдать, даже если сервер, предоставляющий услуги хостинга, нормально переводит регистр символов и понимает что «robots.txt» и «ROBOTS.TXT» одно [...]]]></description>
			<content:encoded><![CDATA[<p>Путь к файлу robots.txt.</p>
<ol>
<li>Поскольку для некоторых сетевых операционных систем регистр символов в названии файла имеет значение, наименование файла robots.txt должно состоять из букв нижнего регистра (именно под таким именем он ищется поисковыми машинами). Это правило следует соблюдать, даже если сервер, предоставляющий услуги хостинга, нормально переводит регистр символов и понимает что «robots.txt» и «ROBOTS.TXT» одно и тоже.</li>
<li>Файл robots.txt должен находиться в корневом каталоге сервера, и определять, какие каталоги не допускаются к индексации (но это касается только администраторов сервера и не касается создателей сайтов).</li>
<li>Файл robots.txt должен находиться в корневом каталоге сайта (это уже на попечении владельцев сайта), например, если сайт называется mihalytch.org.ua, то файл robots.txt должен иметь адрес http://mihalytch.org.ua/robots.txt. Файлы robots.txt, вложенные во внутренние каталоги сайта, поисковыми машинами игнорируются.</li>
</ol>
<p><span id="more-15"></span></p>
<p><strong>Спецификация robots.txt</strong><br />
Поисковые машины поддерживают всего три директивы файла robots.txt:</p>
<p><em><strong>1. #</strong></em> означает начало комментария. Вся строка, следующая за этим знаком, игнорируется. Данная директива позволяет разработчику оставить себе памятку о том, с какой целью он указал ту или другую директиву.</p>
<p><strong><em>2. User-agent</em></strong>: указывает робота, которому адресован блок инструкций, приведенный за строкой User-agent . Например, робот поисковой системы Рамблер называется StackRambler, и строка для его указания выглядит как:</p>
<pre>User-agent: StackRambler</pre>
<p>В одной директиве User-agent можно указать только одного робота (на самом деле, спецификации с момента создания изменились, и в одной директиве через пробел можно указывать любое количество роботов, но наши поисковые системы и многие западные проигнорировали такое нововведение в спецификации и не понимают строк User-agent, указывающих на нескольких роботов), для указания нескольких роботов применяется несколько директив User-agent. Однако допускается применение универсального имени *, означающего всех роботов кроме тех, что указаны в других строках. Например:</p>
<pre>User-agent: *</pre>
<p>Если указание одного и того же робота повторяется в нескольких строках (по ошибке), то учитывается только первое, потому что роботы прекращают поиск директивы User-agent после нахождения первого упоминания о себе (спецификация в таком случае разрешает роботам произвольно выбирать используемый блок).</p>
<p><strong><em>3. Disallow</em></strong>: указывает имя или часть имени неиндексируемых файлов. Также как и директива User-agent директива disallow допускает не более одного параметра, поэтому для указания нескольких файлов требуется употребление нескольких строк disallow. Директивы disallow должны идти в следующей строке после строки User-agent. Пустая строка является окончанием блока параметров для одного робота и началом блока параметров для следующего. Дойдя до пустой строки своего блока, роботы прекращают чтение параметров и начинают индексацию файлов. Поэтому пустые строки недопустимы как внутри блока параметров, так и между этим блоком и предшествующей им строкой с директивой User-agent. Например, блок параметров для Рамблера должен выглядеть так:</p>
<pre>user-agent: StackRambler</pre>
<pre>disallow: /alt</pre>
<pre>disallow: /mac</pre>
<pre>disallow: /koi</pre>
<p>Этот блок запретит индексацию файлов, путь к которым начинается с alt, mac и koi. Если же между disallow: /mac и disallow: /koi вставить пустую строку, то файлы, имя которых начинается с koi, будут проиндексированы.<br />
Директива disallow не признает шаблонов типа *.CGI, поэтому, чтобы облегчить себе жизнь и не повторять строку тысячи раз, следует собрать все неиндексируемые файлы в один каталог (или несколько каталогов, если так будет удобней) и запретить его индексацию.<br />
Параметр директивы disallow должен указывать относительный путь от корня сайта. Попытка указать абсолютный путь вроде http://mihalytch.org.ua/files.html приведет к результату:</p>
<pre>disallow: /http://mihalytch.org.ua/http://mihalytch.org.ua/files.html</pre>
<p>Этот результат получается в силу того, что путь к корневому каталогу сайта роботами учитывается автоматически (иначе можно было бы запретить индексацию файлов на чужих сайтах).</p>
<p>Корневой каталог сайта обозначается слешем (/). Если по какой-то причине не требуется индексация всего сайта, директива disallow должна указывать на корень:</p>
<pre>disallow: /</pre>
<blockquote><p>Директива disallow без слеша ничего не запрещает.</p></blockquote>
<p>Если не требуется индексация файлов, имя которых начинается с некоторой последовательности символов, в директиве disallow указывается слеш и требуемая последовательность. Например:</p>
<pre>disallow: /dir</pre>
<p>Запретит индексацию файлов «/dir.html», «/dir/index.html», «/directory.html».</p>
<p>Если требуется указать не начало имени файла или пути к нему, а имя целиком, это имя следует закончить слешем. Например:</p>
<pre>disallow: /dir/</pre>
<pre>disallow: /dir.html/</pre>
<p>Чувствительность к регистру в имени файлов зависит от сервера, предоставляющего хостинг. Если сервер регистрочувствительный, то</p>
<pre>disallow: /dir.html/</pre>
<p>Запретит индексацию файла dir.html, но не файла dir.HTML.</p>
<p>Других директив robots.txt содержать не может. В частности, нет директив, разрешающих индексацию . Иначе владелец сайта мог бы разрешить индексацию файлов, запрещенных к индексации владельцем сервера.</p>
<p>Трудно представить ситуацию, в которой содержателю сайта пришлось бы давать различные инструкции для разных роботов. Поэтому, с учетом изложенного, стандартный файл robots.txt выглядит примерно так:</p>
<pre>User-Agent: *</pre>
<pre>Disallow: /cgi-bin/</pre>
<pre>Disallow: /links/</pre>
<p>Где cgi-bin – папка с cgi-скриптами, а links – папка с различными ссылками. Если же требуется задание различных параметров индексации различным роботам, перед началом блока параметров для следующего робота обязательно наличие пустой строки, определяющей завершение предыдущего блока.<br />
Например:</p>
<pre>
User-Agent: *</pre>
<pre>Disallow: /cgi-bin/</pre>
<pre>Disallow: /links/</pre>
<pre> </pre>
<pre>User-Agent: Lycos</pre>
<pre>Disallow: /cgi-bin/</pre>
<img src="http://mihalytch.org.ua/?ak_action=api_record_view&id=15&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://mihalytch.org.ua/optimization/robots-txt.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
