Назад | Перейти на главную страницу

Размещение нескольких приложений Rack на одном сервере с несколькими портами (с использованием Apache и Passenger)

Я искал в Интернете и читал документацию по Apache, Passenger, Rack и т. Д., Но еще не нашел решения своей проблемы.

У меня есть несколько приложений на основе Rack (ruby), расположенных в

/home/web/sites/app1
/home/web/sites/app2
/home/web/sites/app3

app1 - это приложение Sintra, app2 - Padrino, а app3 - Rails.

Я хотел бы запускать эти приложения под разными портами (при условии, что IP-адрес сервера 50.60.70.101):

50.60.70.101:4567 -> app1
50.60.70.101:3000 -> app2
50.60.70.101:80   -> app3

Как правильно настроить файл виртуального хоста Apache для этого?

У меня есть 3 файла в / etc / apache2 / sites-available / с такой конфигурацией (с измененными IP-адресами):

<VirtualHost *:4567>
    RackEnv         production

    DocumentRoot    /home/web/sites/app1/public
    <Directory      /home/web/sites/app1/public>
        Order   allow,deny
        Allow   from all
        Options -MultiViews
        #AllowOverride All
    </Directory>
</VirtualHost>

Но я не могу получить доступ к app1 по адресу 50.60.70.101:4567 (хотя app3 работает с портом 80).

Вам нужно явно указать Apache прослушивать эти порты с помощью Listen директива; посмотри на Привязка к адресам и портам.