Использование Phusion Passenger в локальной вычислительной сети - PullRequest
1 голос
/ 08 ноября 2010

Я установил phusion passenger на моем сервере разработки.

<VirtualHost *:80>
  ServerName railscasts.local
  DocumentRoot "/Users/rbates/code/railscasts/public"
  RailsEnv development
  RailsAllowModRewrite off
  <directory "/Users/rbates/code/railscasts/public">
    Order allow,deny
    Allow from all
  </directory>
</VirtualHost>

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

127.0.0.1 railscasts.local

Насколько я понимаю, я могу настроить локальный DNS-сервер, который решит проблему, но, опять же, я бы предпочел не делать этого. Я попытался установить ServerName на ip-адрес моего сервера разработки, но это не сработало, просто молча вышло из строя.

Есть ли способ выполнить это, кроме DNS-сервера или настройки каждой машины в локальной сети? Должен ли я быть в состоянии достичь этого, указав IP-адрес?

Спасибо

Ответы [ 2 ]

1 голос
/ 08 ноября 2010

Вы можете использовать виртуальный хостинг на основе IP в Apache, назначив каждому приложению свой IP-адрес, или использовать разные порты.

Я предполагаю, что у вас в разработке более одного приложения, потому что в противном случаееще более простым решением было бы просто сделать этот vhost стандартным.

Настройка виртуального хостинга на основе IP и / или порта достаточно проста.Вам просто нужно прослушать [1] соответствующие IP-адреса / порты, а затем использовать порт ip.address: в контейнере VirtualHost, как показано в примере выше.

[1] http://httpd.apache.org/docs/current/mod/mpm_common.html#listen

0 голосов
/ 02 марта 2011

Я искал, как сделать это в течение нескольких дней. Я нашел хорошую отправную точку, но уверен, что ее можно улучшить.

Измените верх вашего vhost на:

Listen 1234
<VirtualHost *:1234>

Вы можете использовать любой номер порта, который вам нравится, если он не используется.

Вы можете получить доступ к своему приложению, посетив yourcomputername.local:1234 в браузере другого компьютера в сети.

Предостережения:

Похоже, это останавливает доступ к вашему приложению с именем, которое вы определили (myapp.local). Я смотрю, можете ли вы сделать оба с одного и того же виртуального хоста.

Вероятно, есть лучший способ получить доступ к приложению по сети с помощью чего-то вроде yourcomputername.local / myapp и myapp.local на компьютере, на котором выполняется приложение.

Хотелось бы услышать предложения по улучшению этого решения

...