Проксирующая связка и виртуальные хосты в ubuntu (nginx + apache2)

В этой статье речь пойдет о поднятии и настройке веб сервера и виртуальных хостов. nginx мы делаем, как фронт энд к apache.

Зачем нам это нужно? Все просто, это надо для улучшения производительности и более быстрой работы под высокими нагрузками,
Читать дальше →

Vagrant — виртуализация рабочего окружения



Как и всем дотнетчикам, мне приходилось работать со стеком технологий, основанных на Windows. Но иногда я озирался вокруг и изучал то, что мне казалось интересным, пока не наткнулся я на Ruby On Rails. Все было отлично, вот только инструментарий на Windows оставлял желать лучшего.

Как вы, должно быть, знаете, Ruby On Rails предоставляет великолепные инструменты командной строки, облегчающий работу с фреймворком. Так повелось, что для Windows консоль никогда не была сильной стороной. К тому же все эти инструменты, портированные на Windows, были крайне задумчивыми. По ощущениям, на одной и той же машине, команды rails, выполненные в Windows и выполненные в Linux, но запущенной в виртуальной машине, различались в отклике в несколько раз, а порой и на порядок. А ведь при изучении, важна каждая секунда. Нужно и в rails console поиграться с написанным, и сервер запустить, увидеть свой результат, и миграцию провести, а ждать при этом не хочется.

Когда я только приступал к изучению, слышал множество мнений, что Windows плох для rails-разработчика. В основном это касалось проблем кодировок и прочей несовместимости. Все советовали либо Linux, либо Mac. Но так просто соскочить с Windows я не мог. Слишком много тут оставалось, чего не было там, поэтому решено было разобраться с виртуализацией.

Читать дальше →

Поднимаем http-репозитарий для git

После покупки ноутбука и организации небольшой домашней сети появилась проблема — как синхронизировать проекты на разных комьютерах? Решение очевидно — сделать из одного из них центральный хаб.

Git предоставляет несколько способов организации общего доступа к хранилищам. Сначала я попробовал способ с gitosis — не понравился. Там используется довольно мутный механизм авторизации и организации хранилища. В общем, остановился на Apache + gitweb.

Читать дальше →

Отказоустойчивый производительный кластер для Java приложений

Со времени запуска проекта прошло некоторое время и настало время наращивать вычислительные мощности для работы приложения. Было принято решение построить для этого высокодоступный отказоустойчивый и производительный кластер, который в дальнейшем можно будет легко масштабировать. Таким образом нам надо настроить отказоустойчивый кластер для распределения запросов между серверами приложений.

Для этого мы будем использовать 4 сервера на Linux CentOS 5.5, а так же Apache, Tomcat6, mod_jk, heartbeat.
web1, web2 сервера — для распределения запросов средствами Apache и отказоустойчивости средствами Heartbeat. app1, app2 сервера — Tomcat сервера для Java-приложения.

Читать дальше →

Установка и настройка Apache, MySQL, PHP, Exim, Dovecot, Ruby on Rails и Redmine на CentOS 5.4

Установка и настройка Apache, MySQL, PHP, Exim, Dovecot, Ruby on Rails и Redmine на CentOS 5.4
Задача
Установка по ssh, иногда прибегая к помощи WinSCP as FAR Plugin следующего ПО на VDS:
  • CentOS 5.4 32bit (если у Вас x86_64, незабывайте делать поправку на архитектуру при установке rmp, в частности)
  • Apache 2.2.3
  • MySQL 5.1.53
  • PHP 5.3.3
  • Exim 4.72
  • Dovecot 1.0.7
  • Ruby 1.8.7
  • Rails 2.3.5
  • Redmine 1.0.4
Руководство получилось весьма обширным, в основном благодаря тому, что я старался осветить поставленные вопросы наиболее подробно. К тому же, не редко приводил тезисно (или в качестве ссылок) альтернативные варианты решения, которые не были выбраны мной в силу тех или иных причин, указанных по возможности. Описание пестрит ссылками/источниками, поскольку я старался максимально позволить читателю «владеть ситуацией», при необходимости обращаясь к этим источникам где могла быть предоставлена информация более полно и подробно.

Читать дальше →