Дек 19 2009

FreeBSD. Обновление версии.

Не так давно, один из моих товарищей обновлял сервер под FreeBSD 7.2 до 8-ки.
Система досталась от когото, кто когда то, как то обслуживал эту фирму. Так часто бывает. Пересмотр настроек, перед пересборкой показал, что конфиг ядра немного неадекватен. Конфиг делали из GENERIC, ну в общем как и все делают, но в нем остались целые залежи ненужных устройств.
Товарищ обновил исходники csupом, и дальше, после правки конфига ядра пошел обновляться. Сборка ядра обломилась на попытке собрать в ядре некий драйвер сказевого диска. Пересмотрев конфиг, товарищь не нашел никаких упоминаний о скази устройствах. В прежнем ядре они зачем то были, хотя в сервере скази устройств и близко не было.
Товарищ почистил сборку, make clean в /usr/src, затем опять начал собирать ядро. Сборка опять вылетела на том же месте. Товарищ пересмотрел все настройки и опять почистил сборку. Все повторилось.
В общем так он и воевал с FreeBSD, пока не почистил вручную /usr/obj/, то есть сделал rm -rf /usr/obj/usr. Это убило остатки сборки от 7.2, остатки сборки драйверов структура которых в 8.0 поменялась и сборка 8.0 не могла их корректно почистить.
После ручного удаления, сборка пошла без ошибок.

Дек 17 2009

FreeBSD. Организовываем резервный канал.

Все больше офисов в своей работе ориентированны на интернет. Пусть даже офис небольшой, но все равно нужен доступ к электронной почте, к VoIP и т.д. и т.п. Организовать второе подключение к другому провайдеру не сложно, но возникает вопрос, как реализовать работу, так что бы переключение происходило с минимальными действиями со строны админа. Для реализации резервного канала нам понадобится сервер с 3-мя сетевыми картами.
Назначение у этих сетевых карт такое:
fxp0 – первая сетевая карта – к ней подключается офис(является шлюзом для локальной сети) – адрес 192.168.1.1/24
fxp1 – первое подключение – основной внешний канал – адрес 192.168.5.2/30 – шлюз 192.168.5.1
fxp2 – второе подключение – резервный внешний канал – адрес 192.168.6.2/30 – шлюз 192.168.6.1
Читать далее »

Дек 14 2009

cvsup. Исключаем из обновления ненужные порты.

При обновлении портов большинство обновляет все дерево, включая и ненужные. Но бывают случаи, когда таскать за собой все дерево портов нежелательно. Например на машину с ограниченным доступом в сеть, есть еще места где скорость доступа оставляет желать лучшего. Стандартное решение – это в ports-supfile закоментировать:

ports-all

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

Дек 12 2009

spawn-fcgi. Делаем php Fast-CGI сервер.

spawn-fcgi – одна из составных частей проекта Lighttpd. Предназначен он для того, что бы запустить php, как FastCGI сервер, ну а с этим сервером может работать потом практически любой http сервер. Изначально конечно планировалось, что будет Lighttpd работать, но вот относительно недавно в портах FreeBSD он появился как независимый порт.
Поставим его:

cd /usr/ports/www/spawn-fcgi/
make install clean

Порт ставится быстро и без лишних вопросов.
Читать далее »

Дек 11 2009

FreeBSD. Memory Disk.

По скорости записи оперативная память самая быстрая память компьютера, ну в общем то, на то она и оперативная. Жесткие диски намного более медленные по сранению с ней. Но есть возможность создать в памяти диск в который удастся копировать данные доступ к которым нужно иметь быстрый доступ. Для того, что бы создать такой диск, в ядре FreeBSD должна присутствовать поддержка Memory Disk:

device          md

А сам диск создается элементарно, для этого в /etc/fstab нужно вставить строку:

md                              /mnt/sessions   mfs     rw,-s32m        2       0

Теперь при загрузке будет создан мемори диск размером 32 мегабайта и примонтирован в /mnt/sessions.

В этом примере, диск в памяти используется как хранилище файлов сессий для php. А недостатком является то, что при перезагрузке все файлы будут уничтожены и информация о сессиях будет уничтожена.

Дек 10 2009

Порядок запуска сервисов во FreeBSD.

Маленькая заметка о том как сменить порядок запуска сервисов. Чаще всего это относится к программам, для работы которых нужен SQL сервер, стартует такая программа, а настройки свои подгрузить не может. А все потому, что стартанула она до того, как запустился SQL сервер. Последний раз я на такое наступил, когда ставил самописный биллинг, который назывался billing, стартовый скрипт его назывался billing и при загрузке он сразу цеплялся к MySQL. Порядо запуска сервисов определяется так, сначала идут имена сервисов начинающихся с цифр, а потом сервисы в алфавитном порядке. В моем случае решение простое, переименовать mysql-server в 0mysql-server или billing переименовать в zbilling. Я остановился на втором варианте, что бы при обновлении MySQL не появился второй скрипт mysl-server.

Дек 09 2009

Правила nginx rewrite для популярных CMS.

Последнее время все чаще приходится переводить проекты клиентов на Nginx, соответственно клиенты разные, движки используют разные. Вот что удалось накопить, в основном нарыл по просторам интернет, но то что не удалось, написал сам. Привожу корневой location.
Wordpress:
Читать далее »

Дек 08 2009

Тюнинг nginx.

Привлекательность nginx обеспечивают, его схема работы, без форка как у Apache, за счет этого потрясающая скорость отдачи статики и кеширование, которое резко снимает нагрузку с системы, что позволяет максимально приблизится к «золотой мечте» сисадмина – обслукживание одновременных 1000 соединений. А модуль проксирования умеет замечательно балансировать нагрузку и определять отказы бекэндов. Есть еще много привлекательных возможностей у nginx, но упомянутые выше возможности дают nginx неоспоримые приимущества.
Читать далее »


Украинская Баннерная Сеть