我找不到明确的答案/方法。 正如其他地方所见,apache下的乘客和RoR吞噬了我的VPS。
我已经尝试了大量的堆栈和实现,目前搁置在最佳的apache / cgi / railsconfiguration上,这已经改变了我的内存使用CPU时间和缓慢的请求响应。
任何人都可以推荐一个有效的,最好是简单的pipe理方法在Ubuntu 10.04服务器设置rails应用程序?
这是我一直在使用的方法。
至于事情,你应该尝试运行你的应用程序,并确保它的工作。 一旦你的网站正常加载,你现在可以开始调整你的Passengerconfiguration。 我使用的configuration如下所示。
# 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
我的configuration试图始终保持一个活动的实例,并通过不closuresspawners来使用更多的内存。 您希望使用非常小的内存,但是您不希望等待15-30秒来处理请求,因为所有Rack进程都已closures。 我会在你的情况下尝试下面的内容。
PassengerMaxPoolSize 2 PassengerMinInstances 1 PassengerPoolIdleTime 3600 RailsFrameworkSpawnerIdleTime 1800 RailsAppSpawnerIdleTime 600 PassengerStatThrottleRate 10
如果事情看起来不错,你可以开始降低设置,看看它是如何工作的。