Установка mod_rpaf

В категории Подсказки от 13 июля, 2011. Автор admin

Скачиваем и устанавливаем mod_rpaf:
cd /usr/local/src
wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
tar xzf mod_rpaf-0.6.tar.gz
cd mod_rpaf-0.6
apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c

Далее нужно в файл конфигурации httpd.conf
добавить следующие строки:

LoadModule rpaf_module /usr/lib/apache/mod_rpaf-2.0.so
RPAFenable On
RPAFsethostname Off
RPAFproxy_ips 127.0.0.1 xx.xx.xx.xx. yy.yy.yy.yy
RPAFheader X-Real-IP
где xx.xx.xx.xx и yy.yy.yy.yy – IP адреса вашего сервера.

Тэги:

Кэширование в nginx

В категории Подсказки от 13 июля, 2011. Автор admin

Включение кэширования средствами nginx позволяет повысить скорость отдачи часто используемых страниц в очень много раз. Фишка в том, что сгенерированная апачем страница сохраняется в виде готового html-файла на диске и при поступлении запроса на такой же урл (совпадение по md5) файл-кэш быстро отдается клиенту. Кэширование в nginx доступно с версии 0.7.44. Благо в репозитории EPEL уже штатно присутствует 0.8.
К настройке кэширования нужно относиться очень внимательно, потому что на динамических сайтах весьма высока вероятность обрубания функциональности сайта: перестанут работать корзины на сайтах-магазинах, поломаются счетчики просмотров и тд.
Самая простая настройка выглядит так:
Сначала в http-секции прописываем где будет лежать кэш, его размер и время устаревания:

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=myzone:16m inactive=7d max_size=1024m;

Чистить кэш nginx будет сам. Кстати, в процессе отладки вы можете просто ходить в эту папку и смотреть что там закэшировалось.
Кэш можно включить либо для определенного location либо для всего виртуального хоста.
proxy_no_cache $cookie_logged; #условия, при которых ответ не будет сохраняться в кэш
proxy_cache_bypass $cookie_logged; #условия, при которых ответ не будет браться из кэша
proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504;
proxy_pass_header Set-Cookie;#разрешает передавать от проксируемого сервера клиенту запрещённые для передачи строки
proxy_ignore_headers «Expires» «Cache-Control»; #запрещает обработку некоторых строк заголовка из ответа проксированного сервера
proxy_cache_valid 200 301 302 304 1h; #время кэширования для разных ответов
proxy_cache myzone; #включает кэширование и задает зону

В процессе настройки посмотрите какие куки и в какой момент отправляет пользователю ваше приложение.
В интернете можно найти готовые конфиги nginx-а для кэширования под различные популярные CMS.
“Тупой” вариант кэширования с большим сроком устаревания кэша можно использовать в момент DDOS-а, тогда есть шанс, что сервер справится с наплывом запросов и сайт хоть и потеряет в функциональности, но останется доступен для поисковых систем и не уронит в след за собой остальные сайты на этом сервере.

Тэги:

Узнаём кодировку БД

В категории Подсказки от 13 июля, 2011. Автор admin

Прежде всего создаем БД через консоль

mysql> CREATE DATABASE `my_db` CHARACTER SET utf8 COLLATE utf8_general_ci;

Далее у нас есть два пути :

1. Узнать через ту же самую консоль

mysql> use my_db;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> SHOW VARIABLES LIKE «character\_set\_database»;
+————————+——-+
| Variable_name | Value |
+————————+——-+
| character_set_database | utf8 |
+————————+——-+
1 row in set (0.00 sec)

mysql>

2. Узнать через тех файл базы

cat /var/lib/mysql/my_db/db.opt
default-character-set=utf8
default-collation=utf8_general_ci

Тэги: