有一种简单的方法来运行sinatra(特别是padrino)应用程序“作为”rails应用程序? 我想,应该有一些方法将“rails服务器”翻译成“padrino start”或其他东西...... (我所指的主机托管主机也使用mod_rails主机。)
答案 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)
您应该将Sinatra作为Rack运行
http://www.modrails.com/documentation/Users%20guide%20Nginx.html#_sinatra