Роман Теличко

Заметки веб-разработчика/админа

Тег freebsd

Команды управления пакетным фильтром pf

// Июнь 4, 2013 | 6211 просмотров | комментариев (0)

Наткнулся на список команд для управлением пакетным фильтром (фаерволом) pf.

pfctl -d выключить пакетный фильтр
pfctl -e включить пакетный фильтр
 
pfctl -f /etc/pf.conf загрузить конфиг из /etc/pf.conf
pfctl -n -f /etc/pf.conf проверить на ошибки /etc/pf.conf, но не загружать его
pfctl -R -f /etc/pf.conf загрузить только правила фитрации из /etc/pf.conf
pfctl -N -f /etc/pf.conf загрузить только правила NAT из /etc/pf.conf
pfctl -O -f /etc/pf.conf загрузить только опции из /etc/pf.conf
 
pfctl -F all сбросить всё
pfctl -F rules сбросить только правила фильтрации
pfctl -F queue сбросить только очереди
pfctl -F nat сбросить правила NAT
pfctl -F info сбросить всю статистику
pfctl -z clear очистить все счётчики
 
pfctl -s rules показать текущие правила фильтрации
pfctl -v -s rules show показать информацию по каждому правилу фильтрации
pfctl -vvsr показать текущие правила фильтрации с добавлением номера правила
pfctl -v -s nat показать текущие правила NAT отдельно по каждому правилу
pfctl -s nat -i xl1 показать правила NAT для интерфейса xl1
pfctl -s queue показать очереди
pfctl -s state показать текущее состояние таблиц
pfctl -s info показать статистику правил и состояние счётчиков
pfctl -s all показать все что можно
 
pfctl -t testtable -T show просмотр содержимого таблицы testtable
pfctl -t testtable -T show -v просмотр более подробной статистики по каждому адресу таблицы testtable
pfctl -t testtable -T add 192.168.1.1 добавление адреса 192.168.1.1 в таблицу testtable
pfctl -t testtable -T delete 192.168.1.1 удаление адреса 192.168.1.1 из таблицы testtable
pfctl -t testtable -T flush очистить таблицу testtable

Как переименовать имена файлов из одной кодировки в другую в Linux

// Июнь 1, 2013 | 1144 просмотров | комментариев (0)

Для этих целей существует отличная программа convmv.
Ставится она из репозитория довольно просто:

sudo apt-get install convmv

После чего вам просто необходимо указать папку, в которой необходимо совершить переименование файлов из одной кодировке в другую.
Например, мне нужно переименовать файлы из KOI8-R в UTF-8 рекурсивно вниз.
Делается это так:

convmv -r --notest -f koi8-r -t utf-8 Folder/

Опция --notest отвечает за переименование.
Т.е. без этой опции вы просто сделаете тест и посмотрите как файлы будут «выглядеть» в нужной кодировке.

Удачи.

Делаем запросы в PostgreSQL из nginx кэшируя с помощью Redis

// Май 23, 2013 | 5189 просмотров | комментариев (0)

Сегодня я расскажу как можно работать с базой данных PostgreSQL с помощью nginx’a без application’a (например, PHP или любого другого). Т.е. эта технология абсолютно не зависит от языка, на котором сделан сайт/проект/система.
Мы будем использовать мощь PostgreSQL в хранимых процедурах (stored procedures/functions), а кэшировать с помощью быстрого Redis.
Читать далее…

Партицирование (partitioning) больших таблиц PostgreSQL

// Февраль 17, 2013 | 13422 просмотров | 4 комментария

Сегодня я хочу вам рассказать о партиционировании больших таблиц в моей любимой PostgreSQL.

Итак, начнём с определения:
Партиционирование (partitioning) — это разбиение больших таблиц на логические части по выбранным критериям. Партиционированные или секционированные таблицы призваны улучшить производительность и управляемость базами данных.

Вроде понятно. Теперь идём дальше. Как же разбить таблицу на партиции или секции?
В PostgreSQL эта процедура потребует небольших усилий, но результатом вы будете довольны 🙂
Читать далее…

PHP. Достаём данные из Google Analytics через API используя Service Account

// Январь 22, 2013 | 11126 просмотров | 3 комментария

Сегодня я хотел бы поделиться знаниями по извлечении данных из Google Analytics, используя их API v3 на стороне сервера (server-side), т.е. без участия браузера пользователя.
Самое странное, что в Сети в основном описаны все примеры с использованием эмуляции браузера и аккаунта пользователя (пара email+пароль). Мы так делать не будем, т.к. это глупо и не красиво 🙂
Приступим.
Читать далее…

Бэкапим Linux-сервер в Dropbox

// Январь 18, 2013 | 3894 просмотров | комментариев (0)

Если ваши серверные бэкапы могут вместиться в размер виртуального диска Dropbox’a, то думаю что разумным будет бэкапить файлы, помимо другого веника, ещё и в облако.
Начнём.
Читать далее…

Как сохранять POST-значения в access-логи nginx’a

// Январь 17, 2013 | 3677 просмотров | комментариев (0)

Если есть необходимость сохранения в лог обращений к веб-серверу nginx значения, переданные через POST, то это делается довольно просто.

Добавляем в конфиг nginx’a дополнительный log_format с именем, к примеру main_post (сама переменная называется $request_body):

log_format      main_post       '$remote_addr - [$time_local] '
                                '$host "$request" $status $bytes_sent [$request_body] '
                                '"$http_referer" "$http_user_agent" '
                                '"$gzip_ratio" $upstream_response_time';

И теперь осталось только указать этот формат вторым параметром access_log:

access_log      /var/log/nginx/access.log      main_post;

Сразу скажу о двух важных моментах:

  1. Если к логам сервера имеет доступ ещё кто-то, то все POST-данные из лога ему станут известны
  2. Лог может ОЧЕНЬ быстро разбухать в размерах

А в остальном — пользуйтесь!

Перепост: FreeBSD + PostgreSQL: тюнинг сервера БД

// Июнь 8, 2011 | 734 просмотров | комментариев (0)

Наверное, моя статья будет не интересна матерым сисадминам и покажется копипастом. Но я адресую ее тем, кто, как и я, будучи только разработчиком, впервые столкнулся с необходимостью еще и администрировать сервер, при этом решая задачи высоконагруженной БД. И чтобы гугл вас не проклял, постараюсь собрать в одном месте основные приемы для разгона сервера БД, которые мне успешно удалось реализовать.
Читать далее…

Перепост: Сервер на стероидах: FreeBSD, nginx, MySQL, PostgreSQL, PHP и многое другое

// Сентябрь 20, 2009 | 646 просмотров | комментариев (0)

Введение

С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный Pentium 4 c 512Мб памяти, обслуживающий одновременно до тысячи человек на форуме и до 150,000 пиров на трекере уже давно покоится на какой-нить немецкой, свалке, а клуб сменил уже не один сервер. Всё сказанное в ней всё ещё остаётся актуальным, однако есть вещи которые стоит добавить.

Читать далее…