有没有一种简单的方法可以将 sinatra(特别是 padrino)应用程序“作为”rails 应用程序运行?我想,应该有一些方法可以将“rails server”转换为“padrino start”或其他东西......(我指的主机也使用 mod_rails 托管 rails。)
问问题
2577 次
2 回答
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。
于 2011-02-25T18:44:30.147 回答
0
您应该将 Sinatra 作为机架运行
http://www.modrails.com/documentation/Users%20guide%20Nginx.html#_sinatra
于 2011-02-22T15:12:52.233 回答