Passenger & несколько приложений на одном виртуальном хосте

23 views
Skip to first unread message

Ivan Ukhov

unread,
Mar 22, 2009, 5:42:58 PM3/22/09
to RubyOnRails to russian
Никак не могу правильно сконфигурировать apache и passenger. Хочу
сделать так, чтобы на одном виртуальном хосте было несколько
приложений, при этом у каждого свой собственный путь типа http://localhost/app1,
http://localhost/app2. Нашел как это делается в доке passenger,
написал в конфиге апача следующее:

<VirtualHost *:80>
ServerName uvsoft

DocumentRoot /home/soft/work/websites

<Directory "/home/soft/work/websites/*">
Order allow,deny
Allow from all
</Directory>

RailsEnv development

RailsBaseURI /app1
RailsBaseURI /app2
</VirtualHost>

Соответственно сделал чистенькую папочку /home/soft/work/websites и
понаделал туда символических ссылочек директорий public каждого
приложения.

В итоге когда я захожу на http://localhost/app1 начинает работать
первое приложение, но вот беда - сразу ругается на рауты: Routing
Error: No route matches "/app1" with {:method=>:get} (все это
появляется в соответствующем логе log/develpment.log). И так с каждым
приложением, все ругаются на свои префиксы в пути, хотя по идее
приложение не должно обращать внимание вот на эту приставку как я
понимаю...

Поскажите пожалуйста, как побороть.

Спасибо

Dmytro Shteflyuk

unread,
Mar 22, 2009, 6:05:31 PM3/22/09
to ror...@googlegroups.com
2009/3/22 Ivan Ukhov <UVS...@gmail.com>:

> Никак не могу правильно сконфигурировать apache и passenger. Хочу
> сделать так, чтобы на одном виртуальном хосте было несколько
> приложений, при этом у каждого свой собственный путь типа http://localhost/app1,
> http://localhost/app2. Нашел как это делается в доке passenger,
> написал в конфиге апача следующее:

[skipped]

> Поскажите пожалуйста, как побороть.

config.action_controller.relative_url_root = '/app1'

--
Best regards, Dmytro Shteflyuk
http://kpumuk.info/

Ivan Ukhov

unread,
Mar 22, 2009, 6:51:10 PM3/22/09
to RubyOnRails to russian
так неужели нужно каждое приложение править...? мне просто удобно
когда все приложения которые я разрабатываю висят на одном виртуальном
хосте... и к ним удобно обращаться, не перебирая различные порты...
если я буду вность в них изменния только лишь для того чтобы мне было
удобней их отлаживать... как-то не очень. вариантов что ли нет?

On 23 мар, 01:05, Dmytro Shteflyuk <kpu...@kpumuk.info> wrote:
> 2009/3/22 Ivan Ukhov <UVS...@gmail.com>:
>
> > Никак не могу правильно сконфигурировать apache и passenger. Хочу
> > сделать так, чтобы на одном виртуальном хосте было несколько

> > приложений, при этом у каждого свой собственный путь типаhttp://localhost/app1,

Dmytro Shteflyuk

unread,
Mar 22, 2009, 6:54:09 PM3/22/09
to ror...@googlegroups.com
2009/3/23 Ivan Ukhov <UVS...@gmail.com>:

> так неужели нужно каждое приложение править...? мне просто удобно
> когда все приложения которые я разрабатываю висят на одном виртуальном
> хосте... и к ним удобно обращаться, не перебирая различные порты...
> если я буду вность в них изменния только лишь для того чтобы мне было
> удобней их отлаживать... как-то не очень. вариантов что ли нет?

Пропиши это для development environment. Но вообще да, нужно. Иначе
рельсы будут генерить кривые роуты (и соответственно не смогут
обработать твои).

Еще глянь http://railscasts.com/episodes/122-passenger-in-development
Там предлагается генерить локальные домены вида app1.local для каждого
приложения.

koulikoff

unread,
Mar 23, 2009, 2:11:09 AM3/23/09
to RubyOnRails to russian
Мне кажется, Вы сами себя перехитрить хотите. Что Вам мешает для
каждого приложения свой виртуальный хост прописать?
<VirtualHost *:80>
ServerName uvsoft1
DocumentRoot /home/soft/work/websites/app1/public
RailsEnv development
</VirtualHost>
<VirtualHost *:80>
ServerName uvsoft2
DocumentRoot /home/soft/work/websites/app2/public
RailsEnv development
</VirtualHost>


On Mar 23, 12:42 am, Ivan Ukhov <UVS...@gmail.com> wrote:
> Никак не могу правильно сконфигурировать apache и passenger. Хочу
> сделать так, чтобы на одном виртуальном хосте было несколько

> приложений, при этом у каждого свой собственный путь типаhttp://localhost/app1,http://localhost/app2. Нашел как это делается в доке passenger,


> написал в конфиге апача следующее:
>
> <VirtualHost *:80>
>         ServerName uvsoft
>
>         DocumentRoot /home/soft/work/websites
>
>         <Directory "/home/soft/work/websites/*">
>                 Order allow,deny
>                 Allow from all
>         </Directory>
>
>         RailsEnv development
>
>         RailsBaseURI /app1
>         RailsBaseURI /app2
> </VirtualHost>
>
> Соответственно сделал чистенькую папочку /home/soft/work/websites и
> понаделал туда символических ссылочек директорий public каждого
> приложения.
>

> В итоге когда я захожу наhttp://localhost/app1начинает работать

Ivan Ukhov

unread,
Mar 23, 2009, 3:29:12 PM3/23/09
to RubyOnRails to russian
что-то не очень понял как это на одном порту будет два приложения

Kane

unread,
Mar 23, 2009, 5:51:21 PM3/23/09
to Ivan Ukhov
Hello Ivan,

А какая разница, что они были в подпапках на одном порту, что на
виртуал хостах?

Просто возиться с relative_url_root не надо, вот тебе и профит.

Tuesday, March 24, 2009, 12:29:12 AM, you wrote:

IU> что-то не очень понял как это на одном порту будет два приложения

IU>

--
Best regards,
Kane

Reply all
Reply to author
Forward
0 new messages