Я не могу найти четких ответов / методов по этому поводу. Как видно в другом месте, пассажир и RoR под apache съедают барана на моем VPS.
Я пробовал множество стеков и реализаций, в настоящее время опираясь на неоптимальную конфигурацию apache / cgi / rails, которая поменяла использование оперативной памяти на процессорное время и медленный ответ на запросы.
Может ли кто-нибудь порекомендовать эффективный и, желательно, простой в администрировании метод настройки приложений rails на сервере ubuntu 10.04?
Вот метод, который я использовал.
По сути, вы должны попробовать запустить приложение и убедиться, что оно работает. После нормальной загрузки сайта вы можете приступить к настройке конфигурации вашего пассажира. Конфигурация, которую я использую, выглядит так.
# rvm and passenger paths
PassengerRoot /home/deploy/.rvm/gems/ruby-1.9.2-p136/gems/passenger-3.0.2
PassengerRuby /home/deploy/.rvm/wrappers/ruby-1.9.2-p136/ruby
# set max instances
PassengerMaxPoolSize 6
# Always have one instance running
PassengerMinInstances 1
# recyle an instance after 10k requests
PassengerMaxRequests 10000
# check tmp for restarts one request per 10 secs rather than every request
PassengerStatThrottleRate 10
# don't shutdown any of the spawners
RailsFrameworkSpawnerIdleTime 0
RailsAppSpawnerIdleTime 0
Моя конфигурация пытается постоянно поддерживать активный экземпляр и использует немного больше памяти, не закрывая спаунеры. Вы хотите использовать очень мало оперативной памяти, но не хотите ждать 15-30 секунд, чтобы обслужить запрос, потому что весь процесс Rack был остановлен. В вашем случае я бы попробовал что-то вроде следующего.
PassengerMaxPoolSize 2
PassengerMinInstances 1
PassengerPoolIdleTime 3600
RailsFrameworkSpawnerIdleTime 1800
RailsAppSpawnerIdleTime 600
PassengerStatThrottleRate 10
Если все выглядит неплохо, вы можете уменьшить настройки и посмотреть, как это сработает для вас.