<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0">

<channel>

<title>Полезные мелочи сети, заметки с тегом: CentOS</title>
<link>https://stereomaster.ru/?go=tags/centos/</link>
<description></description>
<generator>E2 (v3254; Aegea)</generator>

<item>
<title>Подключаем новый диск к серверу</title>
<guid isPermaLink="false">194</guid>
<link>https://stereomaster.ru/?go=all/podklyuchaem-novyjj-disk-k-serveru/</link>
<comments>https://stereomaster.ru/?go=all/podklyuchaem-novyjj-disk-k-serveru/</comments>
<description>&lt;p&gt;&lt;b&gt;Задача:&lt;/b&gt; увеличить дисковое пространство путём добавление нового диска к серверу на CentOS 5 или Debian.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Решение:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Первым делом нужно убедиться, что второй диск мы подключили. Вписываем&lt;/p&gt;
&lt;pre&gt;fdisk -l&lt;/pre&gt;
&lt;p&gt;Там мы должны увидеть все разделы основного диска, а также новый неподключенный. При этом второй будет ругаться на то, что у него неправильная файловая система. Исправляем эту ошибку, форматируем устройство под систему &lt;i&gt;ext3&lt;/i&gt;:&lt;/p&gt;
&lt;pre&gt;kfs.ext3 /dev/xvdb&lt;/pre&gt;
&lt;p&gt;Вместо &lt;i&gt;xvdb&lt;/i&gt; укажите том своего диска, который высветился при предыдущей команде. Далее создаём раздел:&lt;/p&gt;
&lt;pre&gt;fdisk /dev/xvdb
Команда (m для справки): n
p
Номер раздела (1-4): 1&lt;/pre&gt;
&lt;p&gt;Первый и последний цилиндры оставляем по умолчанию (либо указываем первый и последний из предлагаемого диапазона). Записываем таблицу на диск:&lt;/p&gt;
&lt;pre&gt;w&lt;/pre&gt;
&lt;p&gt;Проверяем, всё ли в порядке:&lt;/p&gt;
&lt;pre&gt;fdisk -l&lt;/pre&gt;
&lt;p&gt;Если наш новый диск отображается с истинным размером, то всё хорошо, можно продолжать. Монтируем его к нужной директории:&lt;/p&gt;
&lt;pre&gt;mount /dev/xvdb /var/www/html/mysite.ru&lt;/pre&gt;
&lt;p&gt;Если вы случайно замонтировали диск на заполненную директорию (естественно, в этом случае все файлы в ней будут потеряны) и &lt;i&gt;df -h&lt;/i&gt; выдаёт неверную информацию о свободном пространстве, просто перезапустите сервер (команда &lt;i&gt;reboot&lt;/i&gt;).&lt;/p&gt;
&lt;p&gt;После проведённых манипуляций все файлы, закачиваемые в ту директорию, будут находиться на новом диске.&lt;/p&gt;
&lt;p&gt;Если вы подключили диск в качестве хранилища отдельного сайта (виртуального хоста), то не забудьте перезапустить сервисы httpd и nginx (если он у вас установлен). В случае, если httpd будет ругаться на отсутствующий DocumentRoot и, как следствие, выдавать ошибку &lt;i&gt;403 Forbidden&lt;/i&gt; при доступе к сайту, введите команды:&lt;/p&gt;
&lt;pre&gt;setsebool -P httpd_enable_homedirs 1
chcon -R -t httpd_sys_content_t /директория/к/сайту&lt;/pre&gt;
&lt;p&gt;И последнее, что нужно сделать — позаботиться о том, чтобы система сама монтировала диск после перезагрузки. Добавьте в файл &lt;i&gt;/etc/fstab&lt;/i&gt; строчку вида:&lt;/p&gt;
&lt;pre&gt;/dev/xvdb /var/www/html/mysite.ru ext3 defaults 0 0&lt;/pre&gt;
&lt;p&gt;Теперь диск подключен и работает! Поздравляю!&lt;/p&gt;
</description>
<pubDate>Thu, 21 Jul 2011 16:56:20 +0500</pubDate>
</item>

<item>
<title>Оптимизируем сервак. eAccelerator</title>
<guid isPermaLink="false">172</guid>
<link>https://stereomaster.ru/?go=all/optimiziruem-servak-eaccelerator/</link>
<comments>https://stereomaster.ru/?go=all/optimiziruem-servak-eaccelerator/</comments>
<description>&lt;p&gt;&lt;img class="alignleft size-full wp-image-1004" title="eaccelerator" src="http://stereomaster.ru/wp-content/uploads/2011/03/eaccelerator.png" alt="" width="247" height="33" /&gt;&lt;br /&gt;
Уже рассмотрели приёмы &lt;a title="Оптимизируем сервак. Часть 1." href="http://stereomaster.ru/all/optimiziruem-servak-chast-1/"&gt;освобождения оперативки&lt;/a&gt; и &lt;a title="Оптимизируем сервак. Memcache" href="http://stereomaster.ru/all/optimiziruem-servak-memcache/"&gt;установку memcache&lt;/a&gt;. Теперь самое сладкое — ускоритель php-скриптов — &lt;strong&gt;eAccelerator&lt;/strong&gt;. При правильной настройке он уменьшит время загрузки страниц до трёх раз!&lt;/p&gt;
&lt;p&gt;Хотя с ним возможны и некоторые проблемы, если не расчитать свободной памяти, поэтому, если вы ещё не почитали первую статью и ваш сервер обладает меньше, чем 32 мб свободной оперативки, советую перейти к первой части сначала.&lt;/p&gt;
&lt;h2&gt;Установка eAccelerator&lt;/h2&gt;
&lt;p&gt;Узнать о последней версии акселератора можно на &lt;a href="http://eaccelerator.net/"&gt;&lt;a href="http://eaccelerator.net/"&gt;http://eaccelerator.net/&lt;/a&gt;&lt;/a&gt;. На момент публикации, ей является версия 0.9.6.1. Скачиваем и ставим командами из терминала (как обычно, для входа в шелл можно скачать программку PuTTy):&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code&gt;cd /usr/local/src
wget 
bzip2 -d eaccelerator-0.9.6.1.tar.bz2
tar xvf eaccelerator-0.9.6.1.tar
cd eaccelerator-0.9.6.1&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Далее нам потребуется &lt;strong&gt;phpize. &lt;/strong&gt;Если при вводе данной команды терминал выдаёт ошибку, то тогда ставим пакет php-devel:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code&gt;yum install php-devel&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Убедитесь, что он установился в /usr/bin/phpize, иначе поправьте следующие директории, если необходимо:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code&gt;phpize
./configure --enable-eaccelerator=shared --with-php-config=usr/bin/php-config
make
make install&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Если возникают проблемы при конфигурировании, попробуйте использовать команду без параметров.&lt;/p&gt;
&lt;p&gt;Теперь нужно создать папку, в которой будет храниться кэш акселератора:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code&gt;mkdir -p /var/cache/eaccelerator
chmod 0777 /var/cache/eaccelerator&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;Настройка eAccelerator&lt;/h2&gt;
&lt;p&gt;Далее достаточно тонкий и индивидуальный процесс. Откройте файл &lt;strong&gt;php.ini &lt;/strong&gt;(в /etc/) и в секции [extensions] добавьте следующее:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code&gt;extension=&amp;quot;eaccelerator.so&amp;quot;
eaccelerator.shm_size=&amp;quot;16&amp;quot;
eaccelerator.shm_max=&amp;quot;0&amp;quot;
eaccelerator.cache_dir=&amp;quot;/tmp/eaccelerator&amp;quot;
eaccelerator.enable=&amp;quot;1&amp;quot;
eaccelerator.optimizer=&amp;quot;1&amp;quot;
eaccelerator.check_mtime=&amp;quot;1&amp;quot;
eaccelerator.debug=&amp;quot;0&amp;quot;
eaccelerator.filter=&amp;quot;&amp;quot;
eaccelerator.shm_ttl=&amp;quot;0&amp;quot;
eaccelerator.shm_prune_period=&amp;quot;0&amp;quot;
eaccelerator.shm_only=&amp;quot;0&amp;quot;
eaccelerator.compress=&amp;quot;1&amp;quot;
eaccelerator.compress_level=&amp;quot;9&amp;quot;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Перезагрузите httpd:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code&gt;/etc/init.d/httpd restart или service httpd restart&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Введите в шелл команду &lt;strong&gt;php -v&lt;/strong&gt;, чтобы убедиться, что eAccelerator установлен и работает. В сообщении должно быть о нём упоминание.&lt;/p&gt;
&lt;h2&gt;Возможные ошибки&lt;/h2&gt;
&lt;p&gt;Если после перезагрузки httpd вам выдаётся ошибка 500 или 502, измените настройки и полностью перезагрузите сервер (частный рестарт httpd не всегда помогает в этом случае).&lt;/p&gt;
&lt;p&gt;При ошибках вам нужно исправлять значения shm_size и shm_max. 0 — по умолчанию. Рекомендуемое — 16.&lt;/p&gt;
&lt;p&gt;Если в логах ошибок вы обнаружите строки «Cannot allocate shared memory…», необходимо произвести следующие манипуляции:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code&gt;/proc/sys/kernel/shmmax&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Выведенное значение в байтах — максимальный предел выделяемой памяти. Рекомендуется в настройках указывать лишь половину от данного значения.  К примеру, если выдаётся 33554432 (32 Мб), уменьшите значение shm_max в php.ini на 16777216 (16 Мб).&lt;/p&gt;
&lt;p&gt;Есть и второй путь — увеличить допустимый предел памяти и, соответственно, увеличить его в настройках акселератора.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code&gt;echo значение_в_байтах &amp;gt; /proc/sys/kernel/shmmax&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;И прописать это же значение в файле &lt;strong&gt;/etc/sysctl.conf&lt;/strong&gt; в параметре «kernel.shmmax», не забыв его раскомментировать, если нужно (убрать перед строкой #), чтобы значение автоматически присваивалось при перезагрузке сервера.&lt;/p&gt;
&lt;p&gt;Правда, в этом случае есть шанс периодически получать ошибки 500 из-за того, что не хватает оперативной памяти на ускоритель (либо если само ядро не может физически выделять больше).&lt;/p&gt;
</description>
<pubDate>Fri, 04 Mar 2011 18:34:23 +0500</pubDate>
</item>

<item>
<title>Оптимизируем сервак. Memcache</title>
<guid isPermaLink="false">171</guid>
<link>https://stereomaster.ru/?go=all/optimiziruem-servak-memcache/</link>
<comments>https://stereomaster.ru/?go=all/optimiziruem-servak-memcache/</comments>
<description>&lt;p&gt;&lt;img class="alignleft size-full wp-image-971" src="http://stereomaster.ru/wp-content/uploads/2011/03/memcached-logo-200x152.png" alt="" width="200" height="152" /&gt;&lt;br /&gt;
В предыдущей статье я описал пару простых &lt;a title="Оптимизируем сервак. Часть 1." href="http://stereomaster.ru/all/optimiziruem-servak-chast-1/"&gt;приёмов освобождения оперативной памяти&lt;/a&gt;. Сейчас же поговорим насчёт ускорения работы скриптов.&lt;/p&gt;
&lt;p&gt;Хорошим тоном нынче является связка Apache + Nginx, которая работает чуть быстрее по сравнению с обычным Апачем, в силу особенностей передачи запросов от Nginx ему. Дополнением к этой связке будет служить мод &lt;strong&gt;memcache&lt;/strong&gt; и &lt;strong&gt;eAccelerator&lt;/strong&gt;, которые призваны кэшировать и ускорять выполнение php-скриптов.&lt;/p&gt;
&lt;p&gt;Вкратце, механизм их действия простой: к примеру, если их не использовать, то каждый раз сервер должен выполнять скрипт для посетителя. Если посетителей сотни, а скрипт каждый раз выдаёт одну и ту же информацию для всех, то трата ресурсов получается впустую. Вместо этого ускорители выполняют скрипт один раз и выдают посетителям информацию уже из кэша, без необходимости траты ресурсов на выполнение.&lt;/p&gt;
&lt;h2&gt;Установка memcache. Способ 1&lt;/h2&gt;
&lt;p&gt;Всё ниже описанное подходит для серверов с CentOS 5 и им подобным.&lt;/p&gt;
&lt;p&gt;Зайдите в шелл (для этого можно использовать популярную программку PuTTy) и вводите следующие команды (можно копировать здесь и вставлять туда правой кнопкой мыши):&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code&gt;cd /usr/local/src
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.i386.rpm
rpm -ivh rpmforge-release-0.5.1-1.el5.rf.i386.rpm
yum -y install memcached&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;После чего в файле &lt;strong&gt;/etc/sysconfig/memcached&lt;/strong&gt; и замените параметр OPTIONS на:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code&gt;OPTIONS=&amp;amp;quot;-l 127.0.0.1&amp;amp;quot;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Добавляем memcache в автозагрузку командами:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code&gt;/etc/init.d/memcached start
chkconfig memcached on&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Следующим пунктом нужно установить библиотеку PHP-memcache:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code&gt;yum -y install php-pecl-memcache&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;В файл &lt;strong&gt;php.ini&lt;/strong&gt; (в /etc/) в секцию [extensions] внесите строчку:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code&gt;extension=memcache.so&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Перезагрузите httpd:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code&gt;/etc/init.d/httpd restart&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;или&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code&gt;service httpd restart&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;Установка memcache. Способ 2&lt;/h2&gt;
&lt;pre class="e2-text-code"&gt;&lt;code&gt;yum install libmemcache memcached -y&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Стартуем:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code&gt;memcached -d -m 256 -l 127.0.0.1 -p 11211 -u nobody&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Можно также добавить в автозагрузку командами из предыдущего способа. Для следующего шага потребуется наличие библиотеки &lt;strong&gt;phpize&lt;/strong&gt;. Если таковой нет, нужно установить &lt;strong&gt;php-devel:&lt;/strong&gt;&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code&gt;yum install zlib-devel&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Устанавливаем библиотеку для работы с PHP:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code&gt;wget http://pecl.php.net/get/memcache-2.1.2.tgz
tar -xvf memcache-2.1.2.tgz &amp;amp;amp;&amp;amp;amp; cd memcache-2.1.2
phpize &amp;amp;&amp;amp; ./configure --enable-memcache &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;В файл &lt;strong&gt;php.ini&lt;/strong&gt; (в /etc/) в секцию [extensions] внесите строчку:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code&gt;extension=memcache.so&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Теперь библиотека установлена и должна работать. Обычно она ускоряет работу скриптов примерно на 30%.&lt;/p&gt;
</description>
<pubDate>Fri, 04 Mar 2011 17:00:30 +0500</pubDate>
</item>

<item>
<title>Оптимизируем сервак. Часть 1.</title>
<guid isPermaLink="false">170</guid>
<link>https://stereomaster.ru/?go=all/optimiziruem-servak-chast-1/</link>
<comments>https://stereomaster.ru/?go=all/optimiziruem-servak-chast-1/</comments>
<description>&lt;p&gt;&lt;a href="http://stereomaster.ru/wp-content/uploads/2011/02/time-management-clock.jpg"&gt;&lt;img class="alignleft size-thumbnail wp-image-965" src="http://stereomaster.ru/wp-content/uploads/2011/02/time-management-clock-120x120.jpg" alt="" width="120" height="120" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ну, как и обещал, несколько коротких статей с советами о том, что может помочь ускорить ваш VPS.&lt;/p&gt;
&lt;p&gt;Имеется достаточно немаленький по объёму &lt;a href="http://gameshows.ru"&gt;сайт&lt;/a&gt;, состоящий из MediaWiki и форума. Поскольку со временем он разросся (хоть и не до таких впечатляющих масштабов, как хотелось бы, но хостеров неприятно впечатлил всё же), пришлось искать новый хостинг. Нашли устраивающий и по цене, и по качеству (о нём я уже &lt;a title="Хороший хостинг" href="http://stereomaster.ru/all/khoroshijj-khosting/"&gt;писал&lt;/a&gt;, оперативный саппорт по-прежнему на высоте).&lt;/p&gt;
&lt;p&gt;Но вот незадача: вроде бы купленный VPS и работает, но единственный размещённый сайтец немного тормозит (а MediaWiki — много, время генерации главной страницы было порядка 4-6 секунд).&lt;/p&gt;
&lt;p&gt;В один прекрасный момент решил всё-таки получше поштудировать интернетную литературу по данному вопросу. Статей написано немало, потому здесь лишь буду пересказывать их содержимое.&lt;/p&gt;
&lt;p&gt;Во-первых, достаточно удобно будет обзавестись FTP-аккаунтом от корня сервера, чтобы проводить манипуляции в нём. В шелле хоть и можно производить действия, но гораздо медленнее. Если есть SSH, то можно попробовать установить и соединение по sFTP с логином и паролем администратора. Например, SmartFTP такое позволяет.&lt;/p&gt;
&lt;h2&gt;Совет 1&lt;/h2&gt;
&lt;p&gt;Первым делом, если у вас на серве стоит &lt;em&gt;OpenVZ&lt;/em&gt;, то маленькая хитрость существенно увеличит объём свободной оперативки, которая нам частично ещё пригодится.&lt;/p&gt;
&lt;p&gt;Найдите файл &lt;strong&gt;rc &lt;/strong&gt;(в моём случае он располагается в /etc/rc.d/) и добавьте где-нибудь вверху строчку:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code&gt;ulimit -s 1024&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Это ограничит потребление ресурсов, которое несколько раздута из-за особенностей &lt;em&gt;OpenVZ. &lt;/em&gt;Чем меньше значение (в Кбайтах), тем больше должно освободиться памяти, но всё-таки не стоит с этим перебарщивать. После изменения перезагрузите сервер (командой &lt;strong&gt;reboot&lt;/strong&gt; в шелле, например). Одна строчка освободила порядка 100 Мб оперативки, ну и общая загрузка несколько снизилась.&lt;/p&gt;
&lt;h2&gt;Совет 2&lt;/h2&gt;
&lt;p&gt;Если не используете в MySQL базы InnoDB, их можно отключить. Найдите файл &lt;strong&gt;my.cnf &lt;/strong&gt;(у меня он лежит в /etc/) и добавьте в секцию [Mysqld] строчку:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code&gt;skip-innodb&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;После сохранения перезагрузите сервер БД из шелла, набрав:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code&gt;service restart mysqld&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;или&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code&gt;/etc/init.d/mysqld restart&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Отключение этой штуки мне дало около 50-80 Мб освободившейся оперативки.&lt;/p&gt;
&lt;p&gt;Часть вторая: &lt;a href="http://stereomaster.ru/all/optimiziruem-servak-memcache/"&gt;Оптимизируем сервак. Memcache&lt;/a&gt;&lt;br /&gt;
Часть третья: &lt;a href="http://stereomaster.ru/all/optimiziruem-servak-eaccelerator/"&gt;Оптимизируем сервак. eAccelerator&lt;/a&gt;&lt;/p&gt;
</description>
<pubDate>Thu, 24 Feb 2011 06:34:00 +0500</pubDate>
</item>


</channel>
</rss>