tag:blogger.com,1999:blog-2012266092495466962024-03-14T16:09:01.967+08:00Записки саппорта...Антон Барановhttp://www.blogger.com/profile/17317041369885762300noreply@blogger.comBlogger3125tag:blogger.com,1999:blog-201226609249546696.post-12806628656700076612011-10-09T19:12:00.000+09:002011-10-09T19:12:47.703+09:00Centos - установка и настройка xcache<div dir="ltr" style="text-align: left;" trbidi="on">
Для установки кэширующего модуля для php xcache нам потребуется установленный пакет php-dev.<br />
Проверим его наличие командой<br />
<blockquote>
rpm -qa | grep php-devel</blockquote>
Если вывод был пустым, то это значит, что пакет php-devel у вас не установлен. Для установки надо выполнить команду:<br />
<blockquote>
yum install php-devel</blockquote>
Получим список пакетов к установке:<br />
<br />
<blockquote>
Dependencies Resolved<br />======================================================================================================================================<br /> Package Arch Version Repository Size<br />======================================================================================================================================<br />Installing:<br /> php-devel i686 5.2.17-1.el6.art atomic 505 k<br />Installing for dependencies:<br /> autoconf noarch 2.63-5.1.el6 base 781 k<br /> automake noarch 1.11.1-1.2.el6 base 550 k<br />Transaction Summary<br />======================================================================================================================================<br />Install 3 Package(s)<br />Upgrade 0 Package(s)<br />Total download size: 1.8 M<br />Installed size: 6.9 M<br />Is this ok [y/N]:</blockquote>
<br />
со всем соглашаемся, нажав "y".<br />
<br />
Теперь устанавливаем необходимые для сборки утилиты:<br />
<blockquote>
yum install gcc make</blockquote>
<br />
После этого нам надо скачать архив с исходными кодами xcache, распаковать его, скомпилировать и установить:<br />
<br />
<blockquote>
cd /usr/src<br />wget http://xcache.lighttpd.net/pub/Releases/1.3.2/xcache-1.3.2.tar.gz<br />tar -xzf xcache-1.3.2.tar.gz<br />cd xcache-1.3.2<br />phpize<br />./configure --enable-xcache<br />make<br />make install</blockquote>
Расширение будет установлено в дефолтную папку для расширений php. В моем случае - в /usr/lib/modules/php<br />
<br />
Теперь редактируем файл /etc/php.d/xcache.ini , и добавляем туда следующие строки:<br />
<br />
<blockquote>
# configuration for php Xcache module<br />[xcache-common]<br />;; install as zend extension (recommended), normally "$extension_dir/xcache.so"<br />zend_extension = /usr/lib/php/modules/xcache.so<br />[xcache]<br />; ini only settings, all the values here is default unless explained<br />; select low level shm/allocator scheme implemenation<br />xcache.shm_scheme = "mmap"<br />; to disable: xcache.size=0<br />; to enable : xcache.size=64M etc (any size > 0) and your system mmap allows<br />xcache.size = 64M<br />; set to cpu count (cat /proc/cpuinfo |grep -c processor)<br />xcache.count = 8<br />; just a hash hints, you can always store count(items) > slots<br />xcache.slots = 8K<br />; ttl of the cache item, 0=forever<br />xcache.ttl = 0<br />; interval of gc scanning expired items, 0=no scan, other values is in seconds<br />xcache.gc_interval = 0<br />; same as aboves but for variable cache<br />xcache.var_size = 16M<br />xcache.var_count = 1<br />xcache.var_slots = 8K<br />; default ttl<br />xcache.var_ttl = 0<br />xcache.var_maxttl = 0<br />xcache.var_gc_interval = 300<br />xcache.test = Off<br />; N/A for /dev/zero<br />xcache.readonly_protection = Off<br />; for *nix, xcache.mmap_path is a file path, not directory.<br />; Use something like "/tmp/xcache" if you want to turn on ReadonlyProtection<br />; 2 group of php won't share the same /tmp/xcache<br />; for win32, xcache.mmap_path=anonymous map name, not file path<br />xcache.mmap_path = "/dev/zero"<br /><br />; leave it blank(disabled) or "/tmp/phpcore/"<br />; make sure it's writable by php (without checking open_basedir)<br />xcache.coredump_directory = ""<br />; per request settings<br />xcache.cacher = On<br />xcache.stat = On<br />xcache.optimizer = Off<br />[xcache.coverager]<br />; per request settings<br />; enable coverage data collecting for xcache.coveragedump_directory and xcache_coverager_start/stop/get/clean() functions (will hurt executing performance)<br />xcache.coverager = Off<br />; ini only settings<br />; make sure it's readable (care open_basedir) by coverage viewer script<br />; requires xcache.coverager=On<br />xcache.coveragedump_directory = ""</blockquote>
<div>
В строке </div>
<blockquote>
zend_extension = /usr/lib/php/modules/xcache.so</blockquote>
<div>
мы подключаем xcache как zend-расширение.</div>
<div>
<br /></div>
<div>
Рекомендуется настроить следующие параметры:</div>
<div>
xcache.count - равным количеству ядер процессора на сервере</div>
<div>
xcache.size - я выставляю равным числу, которое высчитывается по формуле: </div>
<blockquote>
(общее количество оперативной памяти на сервере)/4/xcache.count</blockquote>
После этого перезапускаем apache командой<br />
<blockquote>
/etc/init.d/httpd restart</blockquote>
И смотрим на результат:<br />
<blockquote>
# php -v </blockquote>
<blockquote>
PHP 5.2.17 (cli) (built: Jan 7 2011 08:57:50) Copyright (c) 1997-2010 The PHP Group<br />Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies<br /> with XCache v1.3.2, Copyright (c) 2005-2011, by mOo</blockquote>
<br />
<br />
</div>
Антон Барановhttp://www.blogger.com/profile/17317041369885762300noreply@blogger.com0tag:blogger.com,1999:blog-201226609249546696.post-1628115122027270512011-10-09T18:40:00.002+09:002011-10-09T18:44:21.418+09:00Установка php 5.2.17 в CentOS 6<div dir="ltr" style="text-align: left;" trbidi="on">
Для начала подключаем репозиторий atomic:<br />
<span class="Apple-style-span" style="background-color: #eeeeee; color: #3f5fbf; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 12px; line-height: 13px; white-space: pre;"><br /></span><br />
<blockquote>
wget -q -O - http://www.atomicorp.com/installers/atomic |sh</blockquote>
После этого редактируем файл /etc/yum.repos.d/atomic.repo , чтобы у нс получился примерно такой текст:<br />
<br />
<blockquote>
[atomic]<br />
name = CentOS / Red Hat Enterprise Linux $releasever - atomicrocketturtle.com<br />
mirrorlist = http://www.atomicorp.com/mirrorlist/atomic/centos-6-$basearch<br />
#mirrorlist = http://www.atomicorp.com/channels/atomic/centos/6/mirrors-atomic<br />
enabled = 1<br />
priority = 1<br />
protect = 0<br />
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY.art.txt<br />
gpgcheck = 1<br />
exclude=php*5*3*</blockquote>
Также необходимо добавить строку<br />
exclude=php*5*3*<br />
в конец каждой секции в файле CentOS-Base.repo , чтобы получилось примерно так:<br />
<br />
<blockquote>
[base]<br />
name=CentOS-$releasever - Base<br />
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os<br />
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/<br />
gpgcheck=1<br />
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6<br />
exclude=php*5*3*<br />
#released updates<br />
[updates]<br />
name=CentOS-$releasever - Updates<br />
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates<br />
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/<br />
gpgcheck=1<br />
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6<br />
exclude=php*5*3*</blockquote>
<div>
После этого можем устанавливать php как обычно:</div>
<blockquote>
# yum install php</blockquote>
<div>
После этого убедимся, что устанавливается php версии 5.2.17:</div>
<div>
<blockquote>
======================================================================================================================================<br />
Package Arch Version Repository Size<br />
======================================================================================================================================<br />
Installing:<br />
php i686 5.2.17-1.el6.art atomic 1.1 M<br />
Installing for dependencies:<br />
apr i686 1.3.9-3.el6_0.1 updates 129 k<br />
apr-util i686 1.3.9-3.el6_0.1 updates 89 k<br />
apr-util-ldap i686 1.3.9-3.el6_0.1 updates 15 k<br />
httpd i686 2.2.15-5.el6.centos base 813 k<br />
httpd-tools i686 2.2.15-5.el6.centos base 68 k<br />
mailcap noarch 2.1.31-1.1.el6 base 27 k<br />
php-cli i686 5.2.17-1.el6.art atomic 2.1 M<br />
php-common i686 5.2.17-1.el6.art atomic 256 k<br />
Transaction Summary<br />
======================================================================================================================================<br />
Install 9 Package(s)<br />
Upgrade 0 Package(s)<br />
Total download size: 4.6 M<br />
Installed size: 14 M<br />
Is this ok [y/N]:</blockquote>
</div>
<br />
<div>
<br /></div>
</div>
Антон Барановhttp://www.blogger.com/profile/17317041369885762300noreply@blogger.com1tag:blogger.com,1999:blog-201226609249546696.post-42231064715806136902011-10-01T12:34:00.000+09:002012-02-17T14:28:37.323+09:00Установка и настройка Munin на CentOS 5.6<div dir="ltr" style="text-align: left;" trbidi="on">
Сразу оговорюсь, что рассматривается ситуация, когда на сервере уже установлен web-сервера apache. <br />
Установка весьма проста, по порядку:<br />
<br />
1) Добавляем репозиторий RPMForge:<br />
для i386-систем:<br />
<br />
<blockquote>
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt<br />
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm<br />
rpm -i rpmforge-release-0.5.2-2.el5.rf.i386.rpm</blockquote>
<br />
для x86_64-систем:<br />
<blockquote>
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt<br />
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm<br />
rpm -i rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm</blockquote>
<br />
2) Устанавливаем munin и добавляем в автозагрузку:<br />
<blockquote>
yum install munin munin-node<br />
chkconfig --levels 235 munin-node on</blockquote>
<br />
3) Создаем файл /etc/httpd/conf.d/munin.conf с содержанием:<br />
<blockquote class="tr_bq">
Alias /munin /var/www/html/munin<br />
<Directory /var/www/html/munin><br />
AuthType Basic<br />
AuthName "You are entering Private area. Please enter your login and password"<br />
AuthUserFile /etc/munin/munin-htpasswd<br />
Require valid-user<br />
</Directory></blockquote>
<br />
<br />
4) Редактируем конфигурационный файл /etc/munin/munin.conf. Нас интересуют следующие строки:<br />
<blockquote>
[...]<br />
dbdir /var/lib/munin<br />
htmldir /var/www/www.example.com/web/monitoring<br />
logdir /var/log/munin<br />
rundir /var/run/munin<br />
<br />
# Where to look for the HTML templates<br />
tmpldir /etc/munin/templates<br />
[...]<br />
# a simple host tree<br />
[server1.example.com]<br />
address 127.0.0.1<br />
use_node_name yes<br />
[...]</blockquote>
<br />
Указанные строки надо раскомментировать (удалить символ # в начале строки).<br />
Вместо server1.example.com стоит указать hostname вашего сервера (или основной сайт на нем).<br />
<br />
5) Сделаем доступ к мониторингу по http-авторизации. Нам надо создать файл /etc/munin/munin-htpasswd. Сделать это можно таким образом:<br />
<blockquote>
htpasswd -c /etc/munin/munin-htpasswd monitoring</blockquote>
После чего нам будет предложено два раза ввести пароль для пользователя monitoring, с которым мы будем входить в просмотр мониторинга.<br />
<br />
6) После этого перезагружаем сервисы:<br />
<blockquote>
/etc/init.d/httpd restart<br />
/etc/init.d/munin-node restart</blockquote>
И через несколько минут сможем наблюдать собранную статистику.</div>Антон Барановhttp://www.blogger.com/profile/17317041369885762300noreply@blogger.com0