У меня Apache (-v):
Server version: Apache/2.0.63
Server built: Nov 29 2009 15:23:34
Cpanel::Easy::Apache v3.2.0 rev4899
Я хочу запустить новое приложение Sinatra на пассажирском. Я только что установил пассажирский драгоценный камень. Итак, теперь мне нужно настроить конфигурацию apache.
В httpd.conf есть множество настроек других приложений на сервере. Поэтому я просто не могу переустановить apache с помощью модуля-пассажира-install-apache2. Мне нужно установить существующий Apache с пассажиром. Что мне теперь делать?
Шаг первый: беги passenger-install-apache2-module
как корень. При этом будет установлен пассажирский модуль, который требуется.
Шаг второй: passenger-install-apache2-module
сценарий подскажет, что добавить в httpd.conf. Добавьте это. Это не должно повлиять на работу других запущенных вами приложений.
Шаг третий: настройте каждое приложение Ruby on Rails или Sinatra в Apache. Я делаю это для приложений Sinatra:
<VirtualHost *:80>
ServerName hman.flame.org
DocumentRoot /www/hman/current/public
ExpiresDefault "access plus 10 years"
</VirtualHost>
Тогда у меня есть config.ru
в /www/hman/current
который обнаруживается Пассажиром автоматически.
Для приложений Rails:
<VirtualHost *:80>
ServerName art.waywardgypsy.com
DocumentRoot /www/waywardgypsy-art/current/public
ExpiresDefault "access plus 10 years"
</VirtualHost>
Затем я использую Capistrano для развертывания приложения Rails в /www/waywardgypsy-art
.
В обоих случаях .../current/public
В каталоге есть файлы, которые являются статическими по своей природе, такие как изображения, CSS и т. д. Они обслуживаются непосредственно из Apache. Passenger просматривает конфигурацию виртуального хоста и проверяет наличие Sinatra или Rails, и, если он находит соответствующий файл конфигурации, он будет рассматривать его как соответствующую структуру приложения.
Passenger не повлияет на виртуальные хосты, у которых нет файла конфигурации Sinatra (config.ru
) или Rails (config/boot.rb
).