Можно ли развернуть приложение Ruby на простой чистой настройке Passenger? - PullRequest
2 голосов
/ 18 мая 2010

Я думаю о чем-то действительно похожем на то, что вы можете сделать с mod_php: каким-то образом удалить приложение в Apache и заставить его работать с Passenger, без добавления что-либо внутри httpd.conf (без vhost , ничего кроме базовой конфигурации Пассажира). Это что-то очень похожее на Wordpress или многие другие фреймворки: просто разархивируйте / svn извлеките его из папки и запустите.

Я знаю, что это возможно с CGI и FCGI, но мне интересно, возможно ли также задействовать скорость Пассажира.

Я пытался поиграться с инструкциями Rack на официальном сайте, пытаясь найти конкретную конфигурацию .htaccess и config.ru, но пока ничего.

Я знаю, что это не распространено, но ... возможно ли это?

Ответы [ 4 ]

1 голос
/ 19 мая 2010

Это невозможно без настройки виртуального хоста.

Rails-приложения не похожи на PHP-файлы; файлы в файловой системе не соответствуют URL-адресам. Файлы PHP помещаются в DocumentRoot, тогда как приложения Rails / Rack живут вне DocumentRoot.

Поэтому Пассажир не может определить местоположение вашего приложения. Вам либо нужно указать , где он находится , в первую очередь или , вам необходимо указать DocumentRoot вашего виртуального хоста в каталоге /public вашего приложения. В этом случае Passenger обнаружит, что это приложение Rails / Rack и вам не требуется дополнительная конфигурация Passenger, но вам do нужен виртуальный хост для каждого приложения.

Обновление: В документах Passenger указано, что RailsBaseURI разрешено в файле .htaccess . Добавление этого в корневой каталог вашего документа и создание символической ссылки из подкаталога (например, /docroot/yourapp) в каталог /public вашего приложения может быть именно тем, что вам нужно.

0 голосов
/ 19 мая 2010

Это почти возможно. Если настройка выполнена правильно и apache + mod_rails знает, где находится ваше приложение, вам нужно изменить дату последнего изменения /path/to/your/app/tmp/restart.txt. С помощью SSH вы можете сделать это следующим образом

touch /path/to/your/app/tmp/restart.txt

Более подробную информацию можно найти здесь: http://www.modrails.com/documentation/Users%20guide.html#_redeploying_restarting_the_ruby_on_rails_application

Обновление:

Или вы можете создать /path/to/your/app/tmp/always_restart.txt

Более подробную информацию об этом можно найти здесь: http://www.modrails.com/documentation/Users%20guide.html#_making_the_application_restart_after_each_request

0 голосов
/ 19 мая 2010

Может быть, сбросить config.ru в какую-нибудь директорию сделает это?

0 голосов
/ 18 мая 2010

Все зависит от того, что уже есть в вашем httpd.conf

Вы даже не можете запустить приложение PHP без изменения ваших файлов конфигурации apache во многих установках apache по умолчанию.

...