如何在rails托管上轻松运行sinatra / padrino应用程序

时间:2011-02-22 14:27:59

标签: ruby-on-rails ruby sinatra padrino

有一种简单的方法来运行sinatra(特别是padrino)应用程序“作为”rails应用程序? 我想,应该有一些方法将“rails服务器”翻译成“padrino start”或其他东西...... (我所指的主机托管主机也使用mod_rails主机。)

2 个答案:

答案 0 :(得分:7)

如果您正在使用mod_rails(即Passenger),那么您应该没有任何问题 - Passenger可以托管任何基于机架的应用程序,我用它来托管我的服务器上的Sinatra,Padrino和Rails应用程序。 Sinatra需要一个非常基本的机架文件,例如:

require 'sinatra_app'
set :run, false
set :environment, ENV['RACK_ENV'] || 'production'
run Sinatra::Application

padrino应用程序所需的基本config.ru文件更简单:

require ::File.dirname(__FILE__) + '/config/boot.rb'
run Padrino.application

您可以做更多事情,比如处理日志记录,但这应该是您需要的所有内容。您对Sinatra和Padrino应用程序的Apache vhost配置也很简单,与您用于Rails的非常相似,例如:

<VirtualHost *:80>
  ServerName my.app.com
  DocumentRoot "/var/www/apps/myapp/current/public"
  RackEnv production
</VirtualHost>

这应该是你需要开始的 - 唯一的主要区别是你使用RackEnv代替RailsEnv。

答案 1 :(得分:0)