Развертывание RoR на Apache 1.3 без прав администратора

Развертывание RoR на Apache 1.3 без прав администратора

На работе у меня SuSE 7.3 с Apache 1.3.20, к которому у меня нет прав администратора. Я хотел бы развернуть Ruby on Rails без илиочень малоработа для администраторов.

Мне нужно, чтобы служба работала постоянно, даже если сервер перезагрузится, мне нужно, чтобы она работала быстрее, чем CGI-Speed, и я хотел бы иметь простой домен без портов.

Какие у меня есть варианты?

решение1

Запустите rails на другом сервере (мой любимый вариант — nginx+mod_rails, но подойдет и lighttpd, mongrel или что-то подобное) и просто попросите администраторов настроить обратное прокси-соединение с Apache.

решение2

Запуск Rails на Apache 1.3 будет гораздо более болезненным, чем на системе 2.x.

Вам нужно будет либо запустить mongrels локально (возможно, настроенные администратором этого сервера для корректного запуска) на определенных номерах портов для каждого приложения, а затем использовать некоторую прокси-магию, чтобы отправить Apache туда, или на другой машине. Если вы решите запустить на другой машине, установите Apache 2.0 и используйте Phusion Passenger. Это облегчит вам жизнь.

Пример конфигурации пассажира для нового сайта на Apapche:

<VirtualHost *:80>
  ServerName blog.flame.org
  DocumentRoot /www/blog/flame-blog/current/public
  ExpiresDefault "access plus 10 years"
</VirtualHost>

Я помещаю это в файл под названием /local/httpd/sites/blog.flame.org.conf, а затем использую это в своем httpd.confфайле:

Include /local/httpd/sites/*.conf

IMHO, нет ничего проще, чем добавить новый сайт, если вы хотите сохранить управление конфигурацией через командную строку.

Что касается развертывания новой версии приложения RoR, то с помощью Capistrano это буквально так же просто, как ввести cap deploy:migrations, чтобы выпустить новую версию, а если вы ошиблись, введите cap deploy:rollback, чтобы отменить изменения. Вот это да.

Я бы использовал Capistrano для развертывания ваших приложений, независимо от того, какой способ обслуживания вы выберете.

Связанный контент