Вопрос

Каков предпочтительный способ развертывания приложений Compojure/sinatra?У меня на хосте работает несколько сайтов, поэтому я не могу запустить Jetty/Mongrel на порту 80.Как мне обрабатывать несколько сайтов/приложений, работающих на одном хосте?

Это было полезно?

Решение

Используйте веб-сервер, например Апач который работает на порту 80 и использует виртуальные хосты чтобы направить трафик на нужный сервер приложений.Таким образом, в основном вы запускаете каждый сервер приложений (причал/дворняга и т. д.) на другом порту, а затем на каждом виртуальном хосте будет другая конфигурация для использования чего-то вроде мод прокси для пересылки трафика на сервер приложений.Вы можете использовать другой веб-сервер, например лайттпд или nginx.Для приложения Sinatra вы также можете посмотреть Phusion Passenger, он же мод-рейлинги, он же мод-стойка, который теоретически работает с любым стоечным приложением, хотя я использовал его только с Rails.

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

Другие советы

Я уже много лет делаю подобные вещи с различными автономными серверами (например, AllegroServe).Я нашел лучший подход:

  • Запускайте каждый сервер на другом непривилегированном порту (например, 8080).
  • Бегать pound (или Nginx и т. д.) на 80, настроенном для сопоставления запросов каждому приложению.

Pound великолепен, а конфигурации в конечном итоге очень просты (в отличие от Nginx).Он также выполнит за вас SSL-интерфейс и очистку HTTP, что снимет нагрузку с вашего приложения.

Используйте пассажира! http://modrails.com - это плагин для Apache и Nginx, который позволяет (очень) легко запускать Ruby-приложение в качестве виртуального хоста.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top