<?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>Unix notes &#187; linux</title>
	<atom:link href="http://unix-notes.ru/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://unix-notes.ru</link>
	<description>Заметки по настройке Unix/Linux систем, хостинг-серверов</description>
	<lastBuildDate>Thu, 03 Nov 2011 12:43:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Установка простой системы мониторинга Munin</title>
		<link>http://unix-notes.ru/2011/08/11/ustanovka-prostojj-sistemy-monitoringa-munin/</link>
		<comments>http://unix-notes.ru/2011/08/11/ustanovka-prostojj-sistemy-monitoringa-munin/#comments</comments>
		<pubDate>Thu, 11 Aug 2011 12:13:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[munin]]></category>
		<category><![CDATA[мониторинг]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=683</guid>
		<description><![CDATA[Мунин идеально подойдет для тех администраторов, которым надо мониторить нагрузку (именно нагрузку, а не доступность!) одного-двух-трех серверов и не хочется заморачиваться с такими монстрами как Cacti. Мунин состоит из двух частей: Munin-node &#8211; демон, который ставится на хост, который надо мониторить &#8211; она собирает всю информацию о системе. Вторая часть &#8211; пакет munin &#8211; он [...]]]></description>
			<content:encoded><![CDATA[<p>Мунин идеально подойдет для тех администраторов, которым надо мониторить нагрузку (именно нагрузку, а не доступность!) одного-двух-трех серверов и не хочется заморачиваться с такими монстрами как Cacti.<br />
<a href="http://unix-notes.ru/wp-content/uploads/2011/08/Munin-example-big.jpg"><img src="http://unix-notes.ru/wp-content/uploads/2011/08/Munin-example-big-300x210.jpg" alt="" title="мунин" width="300" height="210" class="alignnone size-medium wp-image-684" /></a><br />
Мунин состоит из двух частей: Munin-node &#8211; демон, который ставится на хост, который надо мониторить &#8211; она собирает всю информацию о системе. Вторая часть &#8211; пакет munin &#8211; он уже рисует графики по данным с одной или нескольких машин и генерит из них статические странички и картинки.<br />
Итак, сначала установим пакет munin, к слову, это перловый скрипт и ставит с собой несколько перловых библиотек:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">yum install munin</div></div>
<p>Он пропишется в /etc/cron.d для запуска раз в 5 минут, создаст /var/www/html/munin &#8211; туда будет генериться статика, которую можно отдавать любым веб-сервером. Конфиги мунина лежат в /etc/munin. Прописываем мунин в Апаче, можно просто алиасом к каком-нибудь существующему виртуалхосту:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Alias /munin/ /var/www/html/munin/<br />
&lt;Directory &quot;/var/www/html/munin/&quot;&gt;<br />
&nbsp; &nbsp; Options Indexes FollowSymlinks<br />
&nbsp; &nbsp; AllowOverride All<br />
&lt;/Directory&gt;</div></div>
<p>Релоадим апач и устанавливаем <strong>munin-node</strong> (эту часть проделываем на всех серверах, которые надо мониторить):</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">yum install munin-node<br />
chkconfig munin-node on<br />
/etc/init.d/munin-node start</div></div>
<p>Если мы ставим оба пакета на одну машину, то нижесказанное проделывать не надо &#8211; все работает по дефолту.<br />
Munin-node работает как демон, к которому на порт 4949 периодически подключается munin, поэтому в /etc/munin/munin-node.conf добавляем дериктиву allow ^127\.0\.0\.1$ с адресом munin.</p>
<p>На машине, на которой установлен Munin в /etc/munin/munin.conf добавляем новый хост по типу:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">[my-second-server]<br />
&nbsp; &nbsp; address 1.2.3.1<br />
&nbsp; &nbsp; use_node_name yes</div></div>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2011/08/11/ustanovka-prostojj-sistemy-monitoringa-munin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Еще один неплохой Yum-репозиторий для СentOS</title>
		<link>http://unix-notes.ru/2011/03/29/eshhe-odin-neplokhojj-yum-repozitorijj-dlya-sentos/</link>
		<comments>http://unix-notes.ru/2011/03/29/eshhe-odin-neplokhojj-yum-repozitorijj-dlya-sentos/#comments</comments>
		<pubDate>Tue, 29 Mar 2011 12:38:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=668</guid>
		<description><![CDATA[Расположен здесь http://www.webtatic.com/. Добавляем в систему: rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm]]></description>
			<content:encoded><![CDATA[<p>Расположен здесь <noindex><a rel="nofollow" target="_blank" href="http://www.webtatic.com/" >http://www.webtatic.com/</a></noindex>.<br />
Добавляем в систему:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm</div></div>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2011/03/29/eshhe-odin-neplokhojj-yum-repozitorijj-dlya-sentos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Замена диска в Raid на linux md</title>
		<link>http://unix-notes.ru/2011/03/28/zamena-diska-v-raid-na-linux-md/</link>
		<comments>http://unix-notes.ru/2011/03/28/zamena-diska-v-raid-na-linux-md/#comments</comments>
		<pubDate>Mon, 28 Mar 2011 05:37:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[raid]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=666</guid>
		<description><![CDATA[Если вдруг ваш RAID1 поломался и cat /proc/mdstat говорит: md2 : active raid1 sda3[2] sdb3[1] &#160; &#160; &#160; 726266432 blocks [2/1] [_U] Т.е. один диск в зеркале U &#8211; up, а другой вылетел. Смотрим более подробнаю информацию о raid: mdadm -D /dev/md2 То надо менять винт. Для этого выключаем сервер, меняем винт, включаемся и затем: [...]]]></description>
			<content:encoded><![CDATA[<p>Если вдруг ваш RAID1 поломался и<br />
cat /proc/mdstat говорит:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">md2 : active raid1 sda3[2] sdb3[1]<br />
&nbsp; &nbsp; &nbsp; 726266432 blocks [2/1] [_U]</div></div>
<p>Т.е. один диск в зеркале U &#8211; up, а другой вылетел.</p>
<p>Смотрим более подробнаю информацию о raid:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mdadm -D /dev/md2</div></div>
<p>То надо менять винт. Для этого выключаем сервер, меняем винт, включаемся и затем:<br />
Смотрим dmesg |grep sda, что новый винт на месте (в моем случае вылетел sda).<br />
Иногда саппорт дата-цента просит сказать серийный номер винта, который надо заменить. Вот так смотрим подробную инфорамацию по жесткому диску:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">hdparm -I /dev/sda</div></div>
<p>Затем копируем информацию о разделах со старого рабочего винта на новый (не ошибитесь в источнике и назначении!):</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sfdisk -d /dev/sdb | sfdisk /dev/sda</div></div>
<p>В моем случае винты были разбиты на три раздела каждый и каждый из них был собран в md-зеркало с соответствующим разделом на другом винте. Теперь подключаем разделы с sda в существующие md-рэйды:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mdadm --manage /dev/md2 --add /dev/sda3</div></div>
<p>Не ошибитесь с разделами!<br />
И наблюдаем в cat /proc/mdstat как идет синхронизация.</p>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2011/03/28/zamena-diska-v-raid-na-linux-md/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Настройка logwatch</title>
		<link>http://unix-notes.ru/2011/02/18/nastrojjka-logwatch/</link>
		<comments>http://unix-notes.ru/2011/02/18/nastrojjka-logwatch/#comments</comments>
		<pubDate>Fri, 18 Feb 2011 12:18:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[logwatch]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=659</guid>
		<description><![CDATA[Logwatch очень полезная утилита (перловый скрипт), которая ежедневно по крону анализирует системные логи и обо всех подозрительных вещах докладывает вам по почте. Она реально может помочь своевременно обнаружить компрометацию системы. Чаще всего она уже даже установлена в системе и прописана в cron.daily, но не активизирована. Если все-таки не установлена, то ставим: yum install logwatch Настройка [...]]]></description>
			<content:encoded><![CDATA[<p>Logwatch очень полезная утилита (перловый скрипт), которая ежедневно по крону анализирует системные логи и обо всех подозрительных вещах докладывает вам по почте. Она реально может помочь своевременно обнаружить компрометацию системы. Чаще всего она уже даже установлена в системе и прописана в cron.daily, но не активизирована. Если все-таки не установлена, то ставим:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">yum install logwatch</div></div>
<p>Настройка проста до безобразия, а пользы от скрипта очень много. Просто копируем конфиг-пример /usr/share/logwatch/default.conf в /etc/logwatch/conf/logwatch.conf</p>
<p>В конфиге нужно поправить только MailTo &#8211; прописать мыло расположенное на внешнем сервисе, а не на проверяемой системе. Еще можно увеличить детализацию отчетов параметром Detail. </p>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2011/02/18/nastrojjka-logwatch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Скрипт синхронизации баз, сайтов и конфигов</title>
		<link>http://unix-notes.ru/2010/11/24/skript-sinkhronizacii-baz-sajjtov-i-konfigov/</link>
		<comments>http://unix-notes.ru/2010/11/24/skript-sinkhronizacii-baz-sajjtov-i-konfigov/#comments</comments>
		<pubDate>Wed, 24 Nov 2010 12:44:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[bash]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=647</guid>
		<description><![CDATA[С помощью данного скрипта можно синхронизировать папки сайтов, базы MySQL и конфиги виртуал-хостов апача и nginx с одного сервера на другой. Синхронизация баз происходит без остановку мускула. #!/bin/bash param=&#34; --progress -plzuogthr --compress-level=9 --delete-after&#34; sitesfromserver1=&#34;site1.ru site2.ru site3.ru&#34; basesfromserver1=&#34;basesite1 basesite2 basesite3&#34; ### Apache vhosts - Not need &#34;update&#34; parametr rsync -e &#34;ssh -p222&#34; &#160;--progress -plzogthr --compress-level=9 --delete-after [...]]]></description>
			<content:encoded><![CDATA[<p>С помощью данного скрипта можно синхронизировать папки сайтов, базы MySQL и конфиги виртуал-хостов апача и nginx с одного сервера на другой. Синхронизация баз происходит без остановку мускула.</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">#!/bin/bash<br />
<br />
param=&quot; --progress -plzuogthr --compress-level=9 --delete-after&quot;<br />
sitesfromserver1=&quot;site1.ru site2.ru site3.ru&quot;<br />
basesfromserver1=&quot;basesite1 basesite2 basesite3&quot;<br />
<br />
### Apache vhosts - Not need &quot;update&quot; parametr<br />
rsync -e &quot;ssh -p222&quot; &nbsp;--progress -plzogthr --compress-level=9 --delete-after /etc/httpd/vhosts root@server2.domain.com:/etc/httpd<br />
<br />
### Nginx vhosts - Not need &quot;update&quot; parametr<br />
rsync -e &quot;ssh -p222&quot; &nbsp;--progress -plzogthr --compress-level=9 --delete-after /etc/nginx/vhosts root@server2.domain.com:/etc/nginx<br />
<br />
### Sites sync<br />
for site in $sitesfromserver1<br />
&nbsp; &nbsp; do<br />
&nbsp; &nbsp; rsync -e &quot;ssh -p222&quot; $param /usr/local/www/$site root@server2.domain.com:/usr/local/www<br />
done<br />
<br />
### MySQL bases sync<br />
echo &quot;Lock bases on Server1 and Server2&quot;<br />
echo &quot;FLUSH TABLES WITH READ LOCK; SET GLOBAL read_only = ON;&quot; | /usr/bin/mysql -u backup -pPasWord<br />
ssh -p222 root@server2.domain.com 'echo &quot;FLUSH TABLES WITH READ LOCK; SET GLOBAL read_only = ON;&quot; | /usr/bin/mysql -u backup -pPasWord'<br />
<br />
echo &quot;Sleep 15s&quot;<br />
sleep 15s<br />
<br />
# Bases from Server1<br />
for base in $basesfromserver1<br />
&nbsp; &nbsp; do<br />
&nbsp; &nbsp; rsync -e &quot;ssh -p222&quot; $param /var/lib/mysql/$base root@server2.domain.com:/var/lib/mysql<br />
done<br />
<br />
echo &quot;Unlock bases&quot;<br />
echo &quot;SET GLOBAL read_only = OFF; UNLOCK TABLES;&quot; | /usr/bin/mysql -u backup -pPasWord<br />
ssh -p222 root@server2.domain.com 'echo &quot;SET GLOBAL read_only = OFF; UNLOCK TABLES;&quot; | /usr/bin/mysql -u backup -pPasWord'<br />
<br />
/etc/init.d/mysqld restart<br />
ssh -p222 root@server2.domain.com /etc/init.d/mysqld restart</div></div>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2010/11/24/skript-sinkhronizacii-baz-sajjtov-i-konfigov/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Проблема &#8220;Public key for &#8230; is not installed&#8221; при установке пакета из yum</title>
		<link>http://unix-notes.ru/2010/11/10/problema-public-key-for-is-not-installed-pri-ustanovke-paketa-iz-yum/</link>
		<comments>http://unix-notes.ru/2010/11/10/problema-public-key-for-is-not-installed-pri-ustanovke-paketa-iz-yum/#comments</comments>
		<pubDate>Wed, 10 Nov 2010 06:13:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=645</guid>
		<description><![CDATA[Если в процессе установки пакета с помощью yum из какого-либо недавно подключенного репозитория вы получаете ошибку: &#8220;Public key for &#8230; is not installed&#8221; это значит что публичный ключ данного репозитория, которым подписываются все входящие в него пакеты, отсутствует в вашей системе. Далее два варианта: 1. Либо этот публичный ключ есть у вас на диске, находим [...]]]></description>
			<content:encoded><![CDATA[<p>Если в процессе установки пакета с помощью yum из какого-либо недавно подключенного репозитория вы получаете ошибку: &#8220;Public key for &#8230; is not installed&#8221; это значит что публичный ключ данного репозитория, которым подписываются все входящие в него пакеты, отсутствует в вашей системе.<br />
Далее два варианта:<br />
1. Либо этот публичный ключ есть у вас на диске, находим его</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">find / -name &quot;*GPG*&quot;</div></div>
<p>2. Скачиваем его с оф. сайта репозитория. Он будет подписан примерно так &#8220;The packages are all signed with this GPG key.&#8221;</p>
<p>Теперь добавляем его в yum:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">rpm --import [путь к ключу]</div></div>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2010/11/10/problema-public-key-for-is-not-installed-pri-ustanovke-paketa-iz-yum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Отключение yum-updatesd в CentOS</title>
		<link>http://unix-notes.ru/2010/10/12/disable-yum-updatesd/</link>
		<comments>http://unix-notes.ru/2010/10/12/disable-yum-updatesd/#comments</comments>
		<pubDate>Tue, 12 Oct 2010 05:05:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=641</guid>
		<description><![CDATA[По умолчанию в системе присутствует сервис yum-updatesd, который проверяет наличие обновлений и информирует через email, syslog или dbus. Иногда он занимает довольно много CPU, а пользы на сервере от него не много. Отключаем: chkconfig yum-updatesd off /etc/init.d/yum-updatesd stop]]></description>
			<content:encoded><![CDATA[<p>По умолчанию в системе присутствует сервис <strong>yum-updatesd</strong>, который проверяет наличие обновлений и информирует через email, syslog или dbus. Иногда он занимает довольно много CPU, а пользы на сервере от него не много. Отключаем:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">chkconfig yum-updatesd off<br />
/etc/init.d/yum-updatesd stop</div></div>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2010/10/12/disable-yum-updatesd/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Переходим с prefork на mpm-worker на Apache с mod_php (CentOS)</title>
		<link>http://unix-notes.ru/2010/10/11/perekhodim-s-prefork-na-mpm-worker-na-apache-s-mod_php-centos/</link>
		<comments>http://unix-notes.ru/2010/10/11/perekhodim-s-prefork-na-mpm-worker-na-apache-s-mod_php-centos/#comments</comments>
		<pubDate>Mon, 11 Oct 2010 17:03:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=637</guid>
		<description><![CDATA[Итак, допустим вы решили перейти на worker MPM в Apache чтобы повысить производительность. Имеем CentOS с Apache и PHP установленные из репозитория Remi. Сначала устанавливаем новый тредобезопасный модуль PHP: yum --enablerepo=remi install php-zts Возможно придется обновить PHP до последней версии. Затем в /etc/sysconfig/httpd раскомментируем строчку: HTTPD=/usr/sbin/httpd.worker Убедимся, что в конфиге апача присутствуют примерно такие настройки: [...]]]></description>
			<content:encoded><![CDATA[<p>Итак, допустим вы решили перейти на worker MPM в Apache чтобы повысить производительность.  Имеем CentOS с Apache и PHP установленные из репозитория <noindex><a rel="nofollow" target="_blank" href="http://rpms.famillecollet.com/" >Remi</a></noindex>.<br />
Сначала устанавливаем новый тредобезопасный модуль PHP:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">yum --enablerepo=remi install php-zts</div></div>
<p>Возможно придется обновить PHP до последней версии.</p>
<p>Затем в /etc/sysconfig/httpd раскомментируем строчку:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">HTTPD=/usr/sbin/httpd.worker</div></div>
<p>Убедимся, что в конфиге апача присутствуют примерно такие настройки:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;IfModule worker.c&gt;<br />
StartServers &nbsp; &nbsp; &nbsp; 1<br />
MaxClients &nbsp; &nbsp; &nbsp; &nbsp; 50<br />
MinSpareThreads &nbsp; &nbsp; 15<br />
MaxSpareThreads &nbsp; &nbsp; 35<br />
ThreadsPerChild &nbsp; &nbsp; 25<br />
MaxRequestsPerChild &nbsp;2000<br />
&lt;/IfModule&gt;</div></div>
<p>Где:<br />
StartServers – сколько процессов стартует при запуске<br />
MinSpareThreads/MaxSpareThreads – сервер будет держать количество свободных потоков (про запас) в этих рамках. Свободные потоки – это сумма потоков во всех процессах<br />
MaxClients – максимально количество одновременных клиентов. Т.е. максимальное количество потоков во всех процессах.<br />
ThreadsPerChild – сколько потоков может создавать каждый процесс. Т.о. если мы разделим MaxClients на ThreadsPerChild, то получим сколько максимум процессов будет создано при максимальной загрузке.<br />
ServerLimit – сколько макс. процессов может быть. Естественно, это число должно быть не меньше MaxClients/ThreadsPerChild – числа процессов при максимальной нагрузке.<br />
MaxRequestsPerChild – через сколько запросов уничтожается процесс.</p>
<p>Если используется Zend или IonCube надо поправить пути к ним (обычно в php.ini), заменив на тредобезопасные варианты.</p>
<p>Рестартуем апач:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">/etc/init.d/httpd restart</div></div>
<p>И получаем результат:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">ps auxww |grep http<br />
root &nbsp; &nbsp; 19552 &nbsp;0.0 &nbsp;0.5 &nbsp;31020 11300 ? &nbsp; &nbsp; &nbsp; &nbsp;Ss &nbsp; 20:50 &nbsp; 0:00 /usr/sbin/httpd.worker<br />
apache &nbsp; 19555 &nbsp;150 39.2 1125872 813092 ? &nbsp; &nbsp; &nbsp;Sl &nbsp; 20:50 &nbsp;17:17 /usr/sbin/httpd.worker</div></div>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2010/10/11/perekhodim-s-prefork-na-mpm-worker-na-apache-s-mod_php-centos/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Действие при превышении Load Average</title>
		<link>http://unix-notes.ru/2010/09/04/dejjstvie-pri-prevyshenii-load-average/</link>
		<comments>http://unix-notes.ru/2010/09/04/dejjstvie-pri-prevyshenii-load-average/#comments</comments>
		<pubDate>Sat, 04 Sep 2010 06:09:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=621</guid>
		<description><![CDATA[Простой скрипт рестартящий апач при превышении LA определенного значения (в данном примере 5): #!/bin/sh a=`uptime &#124; awk -F &#34;load average: &#34; '{ print $2 }' &#124; cut -d, -f1 &#124; sed &#34;s/[,.]//g&#34;`; if [ &#34;$a&#34; -lt 500 ]; then &#160; &#160; echo ALLOK; &#160; &#160; echo $a; else &#160; &#160; echo $a; &#160; &#160; /etc/init.d/httpd [...]]]></description>
			<content:encoded><![CDATA[<p>Простой скрипт рестартящий апач при превышении LA определенного значения (в данном примере 5):</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">#!/bin/sh<br />
<br />
a=`uptime | awk -F &quot;load average: &quot; '{ print $2 }' | cut -d, -f1 | sed &quot;s/[,.]//g&quot;`;<br />
if [ &quot;$a&quot; -lt 500 ]; then<br />
&nbsp; &nbsp; echo ALLOK;<br />
&nbsp; &nbsp; echo $a;<br />
else<br />
&nbsp; &nbsp; echo $a;<br />
&nbsp; &nbsp; /etc/init.d/httpd restart;<br />
fi</div></div>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2010/09/04/dejjstvie-pri-prevyshenii-load-average/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Создание локального репозитория для yum</title>
		<link>http://unix-notes.ru/2010/08/08/sozdanie-lokalnogo-repozitoriya-dlya-yum/</link>
		<comments>http://unix-notes.ru/2010/08/08/sozdanie-lokalnogo-repozitoriya-dlya-yum/#comments</comments>
		<pubDate>Sun, 08 Aug 2010 07:36:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=618</guid>
		<description><![CDATA[Это может пригодиться если вы скачали кучу RPM-пакетов из разных мест и хотите автоматически проапдейтить установленные пакеты на новые. Делаем так. 1. Складываем все новые пакеты в папку, например, /root/updates 2. Устанавливаем пакет createrepo yum install createrepo 3. Запускаем его с указанием нашего каталога с пакетами: createrepo /root/updates 4. Создаем файл /etc/yum.repos.d/local.repo [local] name=Local Repo [...]]]></description>
			<content:encoded><![CDATA[<p>Это может пригодиться если вы скачали кучу RPM-пакетов из разных мест и хотите автоматически проапдейтить установленные пакеты на новые. Делаем так.<br />
1. Складываем все новые пакеты в папку, например, /root/updates<br />
2. Устанавливаем пакет createrepo</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">yum install createrepo</div></div>
<p>3. Запускаем его с указанием нашего каталога с пакетами:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">createrepo /root/updates</div></div>
<p>4. Создаем файл /etc/yum.repos.d/local.repo</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">[local]<br />
name=Local Repo<br />
baseurl=file:///root/updates<br />
enabled=1<br />
gpgcheck=0</div></div>
<p>5. Обновляем, например, PHP:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">yum --enablerepo=local update php</div></div>
<p>6. Если вы обновили пакеты в папке надо перезапустить:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">createrepo --update /root/updates</div></div>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2010/08/08/sozdanie-lokalnogo-repozitoriya-dlya-yum/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

