Меню
- Главная
- Скрипты
- Шаблоны сайта
- Книги
- Фон для сайта
- Анимированные картинки
- Лохотроны и кидалово в интернете
- Статьи
Партнерские программы:
- Заработок на соцсетях
- разные


Реклама




Информация
Обо всех новых добавлениях на сайт вы можете узнать подписавшись в
_________
Яндекс.Метрика


 
Rails SCGI Install.

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

Назад
Автор: Timur Vafin
Источник: ror2ru.elementalcms.org