Дек
19
2009
Не так давно, один из моих товарищей обновлял сервер под 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
Все больше офисов в своей работе ориентированны на интернет. Пусть даже офис небольшой, но все равно нужен доступ к электронной почте, к 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
При обновлении портов большинство обновляет все дерево, включая и ненужные. Но бывают случаи, когда таскать за собой все дерево портов нежелательно. Например на машину с ограниченным доступом в сеть, есть еще места где скорость доступа оставляет желать лучшего. Стандартное решение – это в ports-supfile закоментировать:
Читать далее »
Дек
12
2009
spawn-fcgi – одна из составных частей проекта Lighttpd. Предназначен он для того, что бы запустить php, как FastCGI сервер, ну а с этим сервером может работать потом практически любой http сервер. Изначально конечно планировалось, что будет Lighttpd работать, но вот относительно недавно в портах FreeBSD он появился как независимый порт.
Поставим его:
cd /usr/ports/www/spawn-fcgi/
make install clean
Порт ставится быстро и без лишних вопросов.
Читать далее »
Дек
11
2009
По скорости записи оперативная память самая быстрая память компьютера, ну в общем то, на то она и оперативная. Жесткие диски намного более медленные по сранению с ней. Но есть возможность создать в памяти диск в который удастся копировать данные доступ к которым нужно иметь быстрый доступ. Для того, что бы создать такой диск, в ядре FreeBSD должна присутствовать поддержка Memory Disk:
А сам диск создается элементарно, для этого в /etc/fstab нужно вставить строку:
md /mnt/sessions mfs rw,-s32m 2 0
Теперь при загрузке будет создан мемори диск размером 32 мегабайта и примонтирован в /mnt/sessions.
В этом примере, диск в памяти используется как хранилище файлов сессий для php. А недостатком является то, что при перезагрузке все файлы будут уничтожены и информация о сессиях будет уничтожена.
Дек
10
2009
Маленькая заметка о том как сменить порядок запуска сервисов. Чаще всего это относится к программам, для работы которых нужен SQL сервер, стартует такая программа, а настройки свои подгрузить не может. А все потому, что стартанула она до того, как запустился SQL сервер. Последний раз я на такое наступил, когда ставил самописный биллинг, который назывался billing, стартовый скрипт его назывался billing и при загрузке он сразу цеплялся к MySQL. Порядо запуска сервисов определяется так, сначала идут имена сервисов начинающихся с цифр, а потом сервисы в алфавитном порядке. В моем случае решение простое, переименовать mysql-server в 0mysql-server или billing переименовать в zbilling. Я остановился на втором варианте, что бы при обновлении MySQL не появился второй скрипт mysl-server.
Дек
09
2009
Последнее время все чаще приходится переводить проекты клиентов на Nginx, соответственно клиенты разные, движки используют разные. Вот что удалось накопить, в основном нарыл по просторам интернет, но то что не удалось, написал сам. Привожу корневой location.
Wordpress:
Читать далее »
Дек
08
2009
Привлекательность nginx обеспечивают, его схема работы, без форка как у Apache, за счет этого потрясающая скорость отдачи статики и кеширование, которое резко снимает нагрузку с системы, что позволяет максимально приблизится к «золотой мечте» сисадмина – обслукживание одновременных 1000 соединений. А модуль проксирования умеет замечательно балансировать нагрузку и определять отказы бекэндов. Есть еще много привлекательных возможностей у nginx, но упомянутые выше возможности дают nginx неоспоримые приимущества.
Читать далее »