【发布时间】:2011-07-02 01:13:45
【问题描述】:
是否有一种简单的方法可以将 sinatra(尤其是 padrino)应用程序“作为”rails 应用程序运行? 我想,应该有一些方法可以将“rails server”翻译成“padrino start”之类的...... (我指的主机也使用 mod_rails 托管 rails。)
【问题讨论】:
标签: ruby-on-rails ruby sinatra padrino
是否有一种简单的方法可以将 sinatra(尤其是 padrino)应用程序“作为”rails 应用程序运行? 我想,应该有一些方法可以将“rails server”翻译成“padrino start”之类的...... (我指的主机也使用 mod_rails 托管 rails。)
【问题讨论】:
标签: ruby-on-rails ruby sinatra padrino
如果您使用的是 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。
【讨论】:
您应该将 Sinatra 作为 Rack 运行
http://www.modrails.com/documentation/Users%20guide%20Nginx.html#_sinatra
【讨论】: