DNS настройка домена
Для начала описываем доменную зону в named.conf
Домен будем рассматривать hilik.org.ua, так открываем любым редактором /etc/namedb/named.conf и вписываем в самом конце:
Читать далее »
|
Для начала описываем доменную зону в named.conf
Домен будем рассматривать hilik.org.ua, так открываем любым редактором /etc/namedb/named.conf и вписываем в самом конце:
Читать далее »
Бывает так, что репликация развалилась по причине того что данные уже есть в таблице.
команда
show slave status;
Указывает на ошибку Duplicate entry.
Что бы починить репликацию достаточно ввести 1 или если несколько записей дублируются, несколько раз:
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;SLAVE START;SHOW SLAVE STATUS;
Случилась беда. Побилась табличка, подключились, втоптали repair table «имя таблицы» и обнаружили что на починку таблицы места не хватает, почистили место, но не тут то было, места по прежнему катастрофически не хватает. Более того, сервер в продакшене и перемещать таблицу в то место где мы можем его починить времени нет.
И после этого родилась такая идея, таблицу, а именно файлы с расширениями MYD, MYI и frm, имя файлов совпадает с именем таблицы, переместил в /var/db/mysql и натравил на него myisamchk -r, myisamchk создал временный файл имя_таблицы.TMD, после этого работу mysamchk оборвал, файл переместил в то место где есть место. Что бы все пошло как надо я поставил симлинку на него и перезапустил myisamchck вот так:
myisamchk -fr имя_таблицы |
При этом, по окончании работы myisamchk честно переименовал симлинку в файл имя_таблици.MYD.
Теперь мы можем вернуть все файлы на место, переименовав файл TMD в MYD и расположив его на прежнем месте в директории базы либо так и оставив там поставив из директории базы симлинку на него.
Таким образом мы сэкономили время одного копирования и максимально быстро решили проблему.
Перечитывая документацию к nginx нашел такие интересные переменные у модуля ngx_http_upstream:
$upstream_addr — в ней хранится ip адрес бекэнда на который nginx направит запрос
$upstream_response_time — в ней хранится время ответа бекэнда
Логирование этих переменных позволит нам оценить работоспособность бекэндов и значительно упростить поиск «тормозящей» ноды
Часто провайдеры закрывают отправку почты от клиентов, напрямую в интернет, предлагая воспользоваться их SMTP сервером, для отправки почты. Для того что бы воспользоваться провайдерским relayем из eximа, нужно вставить такой роутер:
smart_relay: driver = manualroute #Эта строка указывает, что роутер #применяется для всех доменов, кроме локальных domains = ! +local_domains transport = remote_smtp #Тут нужно указать ip адрес #SMTP сервера провайдера route_data = 89.252.0.132 no_more no_verify_sender |
Проверяем
exim -bt bill@microsoft.com |
Получаем
bill@microsoft.com router = smart_relay, transport = remote_smtp host 89.252.0.132 [89.252.0.132] |
Все работает замечательно.
Следует отметить, что если вы применяли роутер mailertable из статьи Маршрутизайция в эксим либо нечто подобное, то роутер smart_relay следует указать после него.
Сервер vsftpd, позиционируется как быстрый, простой и надежный ftp сервер.
Во FreeBSD он присутствует в портах, поэтому установка проходит без вопросов.
Для начала необходимо определиться в каком режиме будет работать vsftpd сервер. Мы будем рассматривать standalone режим.
Читать далее »
Понадобился мне аналог mailertable из sendmailа, но в eximе.
В exim есть механизм routers, который и определяет куда направлять письмо.
Начинается секция routers с routerа dnslookup, благодаря этому роутеру и определяется маршрутизация в соответствии с MX записи DNS, в нашей ситуации это нам не поможет.
Поэтому мы добавим свой роутер mailrtable перед роутером dnslookup. В итоге у нас получается такая конфигурация
begin routers mailertable: driver = manualroute domains = ! +local_domains transport = remote_smtp route_data = ${lookup{$domain}dbm{/usr/local/etc/exim/mailertable.dbm}} dnslookup: driver = dnslookup domains = ! +local_domains transport = remote_smtp ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 no_more ... далее стандартная конфигурация ... |
Файл /usr/local/etc/exim/mailertable.dbm получаем так :
Берем любимый редактор и создаем файл
/usr/local/etc/exim/mailertable, такого формата
hilik.org.ua 192.168.0.1 |
И после этого выполняем команду
exim_dbmbuild /usr/local/etc/exim/mailertable /usr/local/etc/exim/mailertable.dbm |
Проверить что у нас получилось можно командой
exim -bt hilik@hilik.org.ua |
По итогу мы должны увидеть:
hilik@hilik.org.ua router = mailertable, transport = remote_smtp host 192.168.0.1 [192.168.0.1] |
Все работает замечательно.
Очень часто забываю как добавить пользователя к mysql, а делается это так:
1. Надо что бы пользователь hilik c паролем hilik c localhosta только читал (выполнял команду select) на базе hilik:
grant select on hilik.* to 'hilik'@'localhost' identified by 'hilik'; |
2. Надо что бы пользователь admin с паролем admin c ip:192.168.0.4 имел полное управление базой admin
grant all on admin.* to 'admin'@'192.168.0.4' identified by 'admin'; |
3. Надо что бы пользователь super c паролем super c ip: 192.168.0.5 имел полный доступ ко всем базам
grant all on * to 'super'@'192.168.0.5' identified by 'super'; |