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

Тонкая работа за Apache2

В настоящее время мой сервер Ubuntu запускает приложения RubyOnRails с Apache2 + Passenger.

Теперь мне нужно развернуть Sinatra (приложение Plain Ruby), которое должно работать на Thin вместо Passenger.

Я знаком с настройкой Apache и хотел бы продолжить в том же духе с VirtualHosts (на доступных сайтах) и т. Д.

Как я могу «направить» VirtualHost в Apache на тонкий сервер?

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

Если вы будете использовать другое имя хоста и другое <VirtualHost>, то вы можете сделать что-то вроде этого:

<VirtualHost *:80>
    ServerName sinatra.example.com
    # Any normal settings you use go here; access logs, ServerAdmin, etc

    # Replace the 9999 below with the port that thin is using, note that it can't
    # be the same as Apache's port.
    # This can also be a service running on adifferent computer if you
    # use another IP address instead of 127.0.0.1
    ProxyPass / http://127.0.0.1:9999/
    ProxyPassReverse / http://127.0.0.1:9999/
</VirtualHost>

Альтернативной конфигурацией, которая может быть вам полезна, было бы просто сделать ее подкаталогом существующего <VirualHost>; вы бы добавили <Location> блокировать существующую конфигурацию:

<Location /sinatra/>
    ProxyPass http://127.0.0.1:9999/
    ProxyPassReverse http://127.0.0.1:9999/
</Location>

Вы можете использовать Varnish для маршрутизации запросов приложений. Я проделал это в своей последней работе с нашим стеком RoR / Varnish / NGINX.

Кроме того, кеширование Varnish - это круто!