Skip to main content

Запуск ruby on rails на uwsgi на примере redmine

Для лично-рабочих нужд я активно использую task-tracking system под названием Redmine. Redmine практически всем хорош из открытых трекеров, но очень любит память. Традиционно он запускается через rails server (WEBRick) или rails-specific сервер thin. Во второй конфигурации у меня он жрал 300Мб оперативной памяти, а среднее время генерации страницы было близко к секунде, что совершенно неприемлимо. По этой причине я решил использовать uwsgi - совершенно прекрасный appserver, который я активно использую для своего творчества на python. Uwsgi работает очень быстро (действительно - очень!), достаточно экономно относится к памяти, обладает широчайшими возможностями конфигурирования - просто-таки мечта, а не сервер. До недавнего времени он умел работать только с python (под который интерфейс uWSGI, строго говоря, и создавался), но теперь умеет обрабатывать ruby и даже PHP. Минусом uwsgid является, во-первых, тот факт, что он находится на переднем крае разработок, а значит - может работать ой как своеобразно. Не менее своеобразно он настраивается, и документации по нему очень мало.

Облачный атлас: краткий путеводитель по вычислительным облакам для новичков

Неоднократно замечал, что многие мои коллеги (или просто знакомые) часто путают разные варианты модного сейчас набора концепций под собирательным названием “вычислительные облака”. Я решил набросать очень-очень краткий путеводитель по облакам, с примерами и анализом сильных и слабых сторон.

Дивный новый мир

Катастрофическое отсуствие времени в сочетании с любовью к Django и перфекционизмом привело к тому, что я решил отказаться от написания самостоятельного движка блога и перейти на Marcus от Ивана Сагалаева и Михаила Андреева. Движок, конечно, не 100% идеал (а есть ли вообще 100% идеал? Логика подсказывает, что такой невозможен), но близок к прекрасному. В ближайшее время вытащу сюда свои старые статьи и добавлю новых.

Использование Munin

В данной статье рассматривается такой инструмент мониторинга, как Munin. Этот инструмент существует под xNIX (Linux, xBSD, Solaris) и Windows и позволяет централизовано отслеживать и наглядно отображать состояние подшефных систем. Изначально используется для отрисовки графиков, но также его можно использовать как чистое средство для наблюдения. Большой плюс Munin - гибкость (все графики рисуются плагинами, активными на целевых системах, и никто не запрещает использовать только те плагины, которые нужны) и возможность с одного сервера собирать информацию о множестве других. Соответственно, нагрузка на наблюдаемом сервере минимальна. Интересно? Добро пожаловать под кат

Monit - наблюдатель за системными процессами

Monit - самостоятельный демон, работающий от пользователя root. Демон работает на Linux, Free/Net/OpenBSD, SUN Solaris и некоторых других UNIX-системах. Это OpenSource проект, у которого есть “старший брат” - коммерческий проект MMonit. Последний обладает более широким функционалом в вопросе массового мониторинга, межсетевого взаимодействия и составления отчетов. Идея авторов проста - для одиночного сервера используем Monit, для большой сетевой фермы - MMonit.

Шифрование дисков через EFS в Linux

Linux в целом - достаточно защищенная система. При условии сложных паролей и своевременных обновлений (а также - нормального firewall-а) сломать его с целью получения данных достаточно трудно. Однако в случае физического доступа к машине достаточно просто загрузится с другого диска (например, с диска Slax) – и с файловой системой можно делать все, что угодно. Дабы противостоять такой атаке – придумана шифрованая файлсистема. В данной статье пошагово описано создание шифрованой файлсистемы (шифр - AES128) на отдельном разделе диска, авторизация по паролю (keyword). Статья писалась под Xubuntu linux (Debian), хотя в принципе для других версий Linux принципиальных различий не будет.

Эмуляция Juniper M на PC

И снова доброго утречка. В данной статье я рассажу о своем опыте эмуляции Juniper M-серии в домашних условиях и о тех трудностях, которые ждут экспериментаторов. Замечу, что данная статья является творческой компиляцией из этого, этого и вот этого, щедро сдобреного собственным опытом и несколько лишенным воды. Если этой статьи вам мало - добро пожаловать в первоисточники :)

Авторизация в OpenSSH с использованием публичного ключа

OpenSSHd имеет очень немалое количество механизмов аутентификации, которые в принципе базируются на двух парадигмах - симметричного ключа (пароль) и несимметричного (сертификат). Разница в этих парадигмах довольно незамысловата: в случае использования симметричного ключа копию этого ключа надо хранить на сервере, чтобы при авторизации сравнить хранимое значение со значением, отправленным пользователем. В случае, если значения одинаковы - пароль считается верным и пользователя авторизуют, если значения разные - то нет. Минус пароля в том, что его можно перехватить, после чего пользоваться им без ограничений.