Как построить Дата-Центр
Понедельник, Март 8th, 2010Сначала конечно же нужно было выровнять стены и сделать потолок (использовали фальшпотолок), высота 180см.
Стены конечно же были в ужастном состоянии...
Сначала конечно же нужно было выровнять стены и сделать потолок (использовали фальшпотолок), высота 180см.
Стены конечно же были в ужастном состоянии...
Это ничуть не руководство к действию, а только лишь некоторые мои умозаключения, которые не являются истиной в последней инстанции.
Итак, давайте рассмотрим ситуацию, когда по сайту лазят боты и занимаются там разными неприглядными делами: сканируют, спамят через формы, грабят контент и так далее. Но по сайту могут пройтись и хорошие роботы — с поисковых систем, которых обижать [...]
rewrite ^/page/(.*)$ /index.php?cstart=$1;
rewrite ^/([0-9]+)/([0-9]+)/([0-9]+)/page,([0-9]+),([0-9]+),(.*).html*$ /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6;
rewrite ^/([0-9]+)/([0-9]+)/([0-9]+)/page,([0-9]+),(.*).html*$ /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5;
rewrite ^/([0-9]+)/([0-9]+)/([0-9]+)/print:page,([0-9]+),(.*).html*$ /engine/print.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5;
rewrite ^/([0-9]+)/([0-9]+)/([0-9]+)/(.*).html*$ /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4;
Есть свежеустановленный VDS с дистрибутивом gentoo-amd64-current и один мой знакомый разработчик попросил «выжать» из из этого максимум производительности.
Будем ставить RoR+MySQL+Nginx+Mongrel+расширенную поддержку обработки графики.
Сначала надо поставить портежи и установить screen:
Сразу скажу, что собирается это все без проблемв CentOS, а вот на FreeBSD по непонятным причинам swscaler отключен и мантейнера это вполне устраивает.
Приступаем:
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rpm -ivh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
yum install ffmpeg ffmpeg-devel flvtool2 mplayer mencoder lame libogg libvorbis libtheora swftools amrnb amrwb transcode x264
wget http://downloads.sourceforge.net/sourceforge/ffmpeg-php/ffmpeg-php-0.6.0.tbz2
tar xjf ffmpeg-php-0.6.0.tbz2
cd ffmpeg-php-0.6.0
phpize
./configure && make
make install
Осталось добавить в php.ini
Порой приходится хранить ценную информацию, к которой никто не должен иметь доступа. Но в тоже самое время необходимо пользоваться услугами системных администраторов.
Как же быть? Как сохранить свои данные в целости и сохранности? И тут на помощь приходит шифрование файловых систем. Я расскажу только про две из них — LUKS и CryptoFS.
Следует отметить, что LUKS отлично работает [...]
sysctl kern.ipc.maxsockets=204800
sysctl kern.ipc.nmbclusters=204800
sysctl kern.ipc.somaxconn=4096
sysctl net.inet.tcp.recvspace=819
sysctl net.inet.tcp.recvbuf_auto=0
sysctl kern.ipc.nmbjumbop=192000
sysctl net.inet.tcp.sendspace=16384
sysctl net.inet.tcp.sendbuf_auto=1
sysctl net.inet.tcp.sendbuf_inc=8192
sysctl net.inet.tcp.sendbuf_max=131072
sysctl net.inet.tcp.maxtcptw=102400
sysctl kern.maxvnodes=200000
Перед вами на картинке — стандартная трехфазовая система установки соеденение TCP/IP.
Сервер, сокет которого слушает запросы от клиента:
Для установки соеденения клиент выбирает CISN для пакета и отправляет его с флагом SYN, обычно это называют SYN пакетом. Когда сервер получает SYN пакет, он создает новое соеденение TCP, которое отнимает память.
На второй фазе установки TCP соеденения сервер выбирает SISN [...]
Nginx, с www на без ww:
if ($host ~* www\.(.*)) {
set $host_without_www $1;
rewrite ^(.*)$ http://$host_without_www$1 permanent;
}
Apache без www на с www:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
Виртуальные сервера — это очень удобно. Можно разделять проект на задачи и для каждой выделять VPS, и по мере роста проекта разносить эти виртуалки по разным физическим серверам.
Но удобство этим еще не заканчивается. В OpenVZ меня очень привлекает возможность создания полного бекапа без даунтаймов. Так как не все знают о такой возможности, я хочу описать ее [...]