Есть такая простенькая система для сбора данных по нагрузке, до систем типа того же zabbix
конечно далеко, но иногда помогает понять, когда и с чем на сервере перегруз.
понедельник, 23 сентября 2013 г.
среда, 18 сентября 2013 г.
Debian 7: downgrade php to 5.3
В дебиане штатный пых версии 5.4, но иногда требуется 5.3, как в 6 версии. Нужная нам плюшка называется oldstable, ставится так: в /etc/apt/sources.list дописываем
deb http://ftp.debian.org/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free
apt-get update
Теперь 2 варианта: выставляем приоритеты пакетам
в /etc/apt/preferences.d/preferences (надо файл создать)
Package: php5*
Pin: release a=oldstable
Pin-Priority: 700
Package: libapache2-mod-php5
Pin: release a=oldstable
Pin-Priority: 700
Package: php-pear
Pin: release a=oldstable
Pin-Priority: 700
Package: php-apc
Pin: release a=oldstable
Pin-Priority: 700
Package: *
Pin: release a=stable
Pin-Priority: 600
ну и обновляем то, что уже стоит
PHP=$(dpkg -l|grep php|grep 5.4.4|awk '{print $2}')
apt-get install --reinstall $PHP
или просто ставим нужные версии руками через
apt-get install php5=5.3.3-7+squeeze14
версию вынесем в переменную
VERSION="5.3.3-7+squeeze14"
и чтобы не было конфликтов, ставим базу отдельно
1) apt-get install php5=$VERSION
2) apt-get install php5-common=$VERSION
3) apt-get install php5-cli=$VERSION
после этого доставляем нужные модули, зависимости уже подтянет само. Но это уже изврат, имхо. Да, и не забываем зафиксировать версии, чтобы не обновило на 5.4 (для 1 варианта неактуально!)
aptitude hold php5 php5-cli php5-common
линки
http://blog.wpkg.org/2013/06/20/downgrading-to-php-5-3-on-debian-wheezy-7-0/
http://rusadmin.biz/ustanovka-php-5-3-na-debian-7.html
http://forums.debian.net/viewtopic.php?f=17&t=104075
deb http://ftp.debian.org/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free
apt-get update
Теперь 2 варианта: выставляем приоритеты пакетам
в /etc/apt/preferences.d/preferences (надо файл создать)
Package: php5*
Pin: release a=oldstable
Pin-Priority: 700
Package: libapache2-mod-php5
Pin: release a=oldstable
Pin-Priority: 700
Package: php-pear
Pin: release a=oldstable
Pin-Priority: 700
Package: php-apc
Pin: release a=oldstable
Pin-Priority: 700
Package: *
Pin: release a=stable
Pin-Priority: 600
ну и обновляем то, что уже стоит
PHP=$(dpkg -l|grep php|grep 5.4.4|awk '{print $2}')
apt-get install --reinstall $PHP
или просто ставим нужные версии руками через
apt-get install php5=5.3.3-7+squeeze14
версию вынесем в переменную
VERSION="5.3.3-7+squeeze14"
и чтобы не было конфликтов, ставим базу отдельно
1) apt-get install php5=$VERSION
2) apt-get install php5-common=$VERSION
3) apt-get install php5-cli=$VERSION
после этого доставляем нужные модули, зависимости уже подтянет само. Но это уже изврат, имхо. Да, и не забываем зафиксировать версии, чтобы не обновило на 5.4 (для 1 варианта неактуально!)
aptitude hold php5 php5-cli php5-common
линки
http://blog.wpkg.org/2013/06/20/downgrading-to-php-5-3-on-debian-wheezy-7-0/
http://rusadmin.biz/ustanovka-php-5-3-na-debian-7.html
http://forums.debian.net/viewtopic.php?f=17&t=104075
.htaccess и php_value mbstring.func_overload
Боян конечно, но мы только недавно столкнулись: в htaccess больше нельзя прописать php_value типа mbstring.func_overload (http://bugs.php.net/bug.php?id=47187&edit=1)
Достаточно простое решение без всяких fastcgi:
<IfModule mod_php5.c>
php_value default_charset UTF-8
php_admin_value mbstring.func_overload 2
php_value mbstring.internal_encoding UTF-8
php_admin_value realpath_cache_size "4096k"
</IfModule>
Достаточно простое решение без всяких fastcgi:
<IfModule mod_php5.c>
php_value default_charset UTF-8
php_admin_value mbstring.func_overload 2
php_value mbstring.internal_encoding UTF-8
php_admin_value realpath_cache_size "4096k"
</IfModule>
понедельник, 16 сентября 2013 г.
Инструкция по выживанию для штатного системного администратора
Инструкция по выживанию для штатного системного администратора - 1, 2
Некоторые вещи спорны, но в целом - очень полезные статьи.
Бонус: Построение карьеры в большой организации. Tips&tricks
Некоторые вещи спорны, но в целом - очень полезные статьи.
Бонус: Построение карьеры в большой организации. Tips&tricks
четверг, 12 сентября 2013 г.
Сварка оптических волокон
Очень интересное описание процесса работы с оптикой
http://habrahabr.ru/post/193146/
Сварка оптических волокон. Часть 1: кабели и их разделка, оптический инструмент, муфты и кроссы, коннекторы и адаптеры
http://habrahabr.ru/post/193146/
Сварка оптических волокон. Часть 1: кабели и их разделка, оптический инструмент, муфты и кроссы, коннекторы и адаптеры
Отличия свичей L2 и L2+
L2+ "обычно" называют коммутатор уровня 2, но с расширенной функциональностью, чаще всего имея ввиду именно поддержку VLAN-ов 802.1q
Часть операций он может выполнять и на уровне Layer3-4 (например на портах выставлять QoS с приоритезацией по UDP/TCP портам, но при этом маршрутизировать не может).
понедельник, 9 сентября 2013 г.
Ускоряем работу umi.cms
Есть такая CMS от UMI, отличается даже большей тормознутостью чем битрикс и в целом несколько сложной разработкой.
Есть сервер, на базе core i7, не загруженный, но со временем открытия страниц порядка 7с. Попробуем несколько ускорить.
Есть сервер, на базе core i7, не загруженный, но со временем открытия страниц порядка 7с. Попробуем несколько ускорить.
четверг, 5 сентября 2013 г.
среда, 4 сентября 2013 г.
solaris: аналоги netstat -npl, -tulpn
Варианты не 1-в-1, но можно сформировать список и форматировать уже как надо, главное понять принцип.
Через lsof (ставится отдельно)
lsof -i TCP|fgrep LISTEN
получение списка без lsof
pfexec pfiles `ls /proc` 2>/dev/null | egrep '^[0-9]|port:' | grep -v "AF_INET6" | sed -e 's/sockname: AF_INET//' -e 's/ *port: /:/'
вариант 2, фильтрованный
pfiles /proc/* 2>&- |
nawk 'END {
if (f) print p
}
/^[0-9]/ {
if (f) print p, RS
p = $0
f = 0
}
/INET / {
sub(/.*INET/,"")
p = p ? p RS $0 : $0
f = 1
}'
Вариант для 1 порта через lsof
lsof -i:port
без lsof надо открывать proc(ls /proc) и парсить, пример есть тут
линки
https://blogs.oracle.com/taz/entry/get_application_pid_listening_on
http://onlineappsdba.com/index.php/2008/06/10/how-to-find-pid-listening-particular-port-on-linuxsolaris-10/
http://stackoverflow.com/questions/91169/what-process-is-listening-on-a-certain-port-on-solaris
http://www.unix.com/solaris/87330-list-tcp-ports-process.html
http://chihungchan.blogspot.ru/2007/03/which-process-listens-to-this-port-in.html
Через lsof (ставится отдельно)
lsof -i TCP|fgrep LISTEN
получение списка без lsof
pfexec pfiles `ls /proc` 2>/dev/null | egrep '^[0-9]|port:' | grep -v "AF_INET6" | sed -e 's/sockname: AF_INET//' -e 's/ *port: /:/'
вариант 2, фильтрованный
pfiles /proc/* 2>&- |
nawk 'END {
if (f) print p
}
/^[0-9]/ {
if (f) print p, RS
p = $0
f = 0
}
/INET / {
sub(/.*INET/,"")
p = p ? p RS $0 : $0
f = 1
}'
Вариант для 1 порта через lsof
lsof -i:port
без lsof надо открывать proc(ls /proc) и парсить, пример есть тут
линки
https://blogs.oracle.com/taz/entry/get_application_pid_listening_on
http://onlineappsdba.com/index.php/2008/06/10/how-to-find-pid-listening-particular-port-on-linuxsolaris-10/
http://stackoverflow.com/questions/91169/what-process-is-listening-on-a-certain-port-on-solaris
http://www.unix.com/solaris/87330-list-tcp-ports-process.html
http://chihungchan.blogspot.ru/2007/03/which-process-listens-to-this-port-in.html
Подписаться на:
Сообщения (Atom)