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

udo*_*udo 3 ruby ruby-on-rails sinatra padrino

是否有一种简单的方法来运行sinatra(特别是padrino)应用程序"作为"rails应用程序?我想,应该有一些方法可以将"rails服务器"转换为"padrino start"或者其他东西......(我指的是主机用mod_rails主机rails.)

cra*_*igp 7

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

require 'sinatra_app'
set :run, false
set :environment, ENV['RACK_ENV'] || 'production'
run Sinatra::Application
Run Code Online (Sandbox Code Playgroud)

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

require ::File.dirname(__FILE__) + '/config/boot.rb'
run Padrino.application
Run Code Online (Sandbox Code Playgroud)

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

<VirtualHost *:80>
  ServerName my.app.com
  DocumentRoot "/var/www/apps/myapp/current/public"
  RackEnv production
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

这应该是您需要开始的全部 - 唯一的主要区别是您使用RackEnv而不是RailsEnv.