Я только что установил виртуальную машину под управлением Ubuntu Server с установленным стеком LAMP и OpenSSH.
Что теперь было бы наилучшим способом позволить этому серверу запускать и рельсы, и приложения PHP? Было бы лучше виртуализировать два сервера на машине хост-сервера? - Или они могут счастливо бегать рядом друг с другом?
Будет ли Mongrel лучшим вариантом для рельсового сервера?
Итак, сохраняя существующий стек LAMP, обслуживающий example1.com, выполните следующие действия для настройки стороны Rails на example2.com:
Запустите mongrel для прослушивания порта 8000 (или любого другого) (FWIW, мы используем Unicorn, который будет более элегантно обрабатывать рабочих).
На стороне Apache сделайте что-то вроде этой конфигурации:
<VirtualHost example2.com:80>
ServerName example2.com
ProxyPass / http://localhost:8000/
ProxyPassReverse / http://localhost:8000
ProxyPreserveHost on
</VirtualHost>
Вы должны просмотреть свои документы Apache по «обратному прокси» и директиве «ProxyPassReverse» для получения конкретных деталей и ошибок.
Итак, ваш существующий VirtualHost для example1.com будет обрабатывать материал LAMP, а VirtualHost для example2.com будет передавать запросы через прокси в ваш стек Rails. Ваш сервер Rails будет прослушивать порт 8000, который находится вне зоны доступа LAMP.
Они могут прекрасно бегать рядом друг с другом.