» Главная
eXcode.ru » Статьи » Ruby
» Новости
» Опросы
» Файлы
» Журнал



Пользователей: 0
Гостей: 17







Rails SCGI Install




Установка на Linux

Попробовал по инструкции поставить на FC4.
Такая же связка заработала на RHEL4

Что делал, что получилось:

1. gem install cmdparse
2. gem install highline
3. gem install scgi_rails (Может понадобиться wget http://www.zedshaw.com/downloads/scgi_rails/scgi_rails-0.4.3.gem я сначала скачал)
4. Потом при помощи checkinstall собрал

http://flatsourcing.com/~timurv/ruby/scgi/mod_scgi-20060221-1.i386.rpm

Для второго апача конфиги: http://flatsourcing.com/~timurv/ruby/scgi/scgi.conf -> /etc/httpd/conf.d/ http://flatsourcing.com/~timurv/ruby/scgi/hab.tsweb.toa -> /etc/httpd/conf.d/vhosts/ или по вкусу

Все замечательно заработало.

Остались вопросы, надо придумать какой то скриптик который положить в init.d чтобы поднимался scgi вместе с апачем + еще какой то монитор чтобы это все не отваливалось

Установка на win32

вот главная страничка: http://www.zedshaw.com/projects/scgi_rails/

здесь для установки на win32: http://www.zedshaw.com/projects/scgi_rails/win32.html

Curt Hibbs сделал скомпилированные версии scgi модуля (mod_scgi.so) для apache1/apache2 - их можно скачать. прямая ссылка: http://www.zedshaw.com/downloads/scgi_rails/apache2-mod_scgi-1.7a-win32.zip

вот установка:

в httpd.conf после mod_rewrite модуля (который должен быть разкоментирован), добавить (соотв. mod_scgi.so - должен быть переписан в папку modules):

LoadModule scgi_module modules/mod_scgi.so

далее добавляем "точку связи":

SCGIMount / 127.0.0.1:9999

это означает что процесс SCGI с которым apache2 будет общаться - расположен на той же самой машине и запущен на 9999 порту, т.е. отсюда следует что можно запустить SCGI процесс на другой машине и т.д.

также слэш - '/' это точка "монтирования" для урлов, т.е. запросы на корневой урл, будут "транслироваться" SCGI процессу, можно "смонтировать" ну другой, к примеру:

SCGIMount /rails/cookbook 127.0.0.1:9999

тогда только запросы начинающиеся с "/rails/cookbook" попадали к SCGI. причем в этом случае возможно потребутеся корректировка routes.rb, но это уже другая история.

здесь - http://www.zedshaw.com/downloads/scgi_rails/httpd.conf можно посмотреть пример конфигурации.

далее необходимо скачать сам модуль SCGI для руби: http://www.zedshaw.com/downloads/scgi_rails/scgi_rails-0.4.3.zip

устанавливаем:

* разархивируем папку "scgi_rails-0.4.3"
* заходим внутрь и набираем: ruby setup.rb
* устанавливаются 3 файла в c:/ruby/bin/ :
o scgi_cluster
o scgi_ctrl
o scgi_service

для работы с "scgi_ctrl" дополнительно нужны

cmdparse: http://rubyforge.org/frs/download.php/5587/cmdparse-2.0.0.zip - скачиваем, разархивируем, устанавливаем:

ruby setup.rb config
ruby setup.rb setup
ruby setup.rb install

highline: http://rubyforge.org/frs/download.php/8696/highline-1.0.2.zip - скачиваем, разархивируем, устанавливаем:

ruby setup.rb

теперь в идеале должна работать команда "scgi_ctrl", - она будет работать если linux, но для win надо сделать .bat файл:

заходим в c:/ruby/bin/

создаем файл "scgi_ctrl.bat", с содержимым:

@ruby "c:/ruby/bin/scgi_ctrl" %*

теперь переходим в корень, нашего любого rails приложения и набираем

scgi_ctrl

должен вывестись хелп (т.к. нет команд):

Error while parsing command line:
No command given

Usage: scgi_ctrl [options] COMMAND [options] [COMMAND [options] ...] [args]

Available commands:
config Configure the SCGI server
help Provide help for individual commands
monitor Monitor the application
reconfig Reconfigure the SCGI servers with a new config
restart Restart the application
start Start the application
status Get status
stop Stop the application
version Show the version of the program

Global options:
-u, --control-url URL DRuby URL to run control on (same as SCGI -1000)
-c, --config PATH Config file to use (#{SCGI::DEFAULT_CONFIG})
-h, --help Show help
-v, --version Show the version of the program

теперь надо запустить конфигурацию, причем для win32 надо указать ключик -S, т.к. работа с сигналами на данной платформе будет отключена:

scgi_ctrl config -S

будет запрошен пароль.

после этого создастся файлик - ./config/scgi.yaml

который содержит настройки для scgi процесса (порт/хост/режим).

теперь пробуем запустить scgi процесс (находясь всё в той же корневой папке rails проекта):

для linux систем это будет

scgi_ctrl start
scgi_ctrl stop

но для win32 это будет:

scgi_service

предварительно надо сделать файлик "scgi_service.bat" в c:/ruby/bin/ папке, с содержимым:

@ruby "c:/ruby/bin/scgi_service" %*

после запуска

scgi_service

появляется процесс "ruby" и в логе "./log/scgi.log" запись:

[INF][816] POSIX signal control disabled.
[INF][816] Running in production mode on 127.0.0.1:9999

для остановки scgi набираем Ctrl+Break

Источник: ror2ru.elementalcms.org
К началу статьи





Добавил: MadvEXДата публикации: 2008-02-11 00:44:13

Рейтинг статьи:0.00 [Голосов 0]Кол-во просмотров: 2265
Оцените статью:

Комментарии читателей

Всего комментариев: 0
Ваше имя: *
Текст записи: *
Имя:

Пароль:



Регистрация

Вы купите понравившуюсь программу?
Да, если не найду Crack
19% (40)
С удовольствием если будут деньги
23% (48)
Нет, потомучто не знаю как заплатить
6% (12)
Нет, принципиально!
17% (37)
Нет, у меня никогда нет денег!
14% (29)
Да, если разработчик будет русским
9% (20)
Нет, не хочу париться с оплатой
13% (27)

Проголосовало: 213
Если вы чехол с компьютера снимаете чаще, чем платье с вашей подруги, то вы уже давно научный сотрудник.
Рейтинг: 5.4/10 (5)
Посмотреть все анекдоты

 
eXcode.ru » Статьи » Ruby