在dreamhost上的Rails 3?

我想在dreamhost上部署一个小的Rails 3应用程序(仅用于测试目的,没有什么严重的),我想知道是否有人已经完成它…请选择以下之一:

  1. 我做到了,它非常简单,这里是如何:……
  2. 虽然我没试过,但它应该很容易,这是如何:……
  3. 这很复杂,但这应该让你开始:….
  4. NO WAI !!! 1!one!1将它设置在slicehost或另一个非共享主机上,否则你将死于试图强迫DH上的痛苦死亡

思考?

不幸的是,我认为它在很大程度上取决于Dreamhost为您安装gem,并允许通过共享环境访问它们。 您可以联系他们的支持部门,以获取有关他们是否以及何时计划将Rails 3部署到其共享服务器的更多信息。

另一方面,您可以执行您的第四个选项所暗示的内容,然后继续前进并在某处获得切片(不一定需要使用SliceHost;您可以使用Heroku进行廉价部署),这样您就可以部署自己的gem。

希望这可以帮助!

您可以这样做,但它需要高级的sysadm技能。

要在DreamHost上使用Rails 3,您需要:

  • 安装Ruby 1.8.7
  • 安装RubyGems
  • 安装Rails 3

所有在您自己的主目录中,因为您没有权限在其他地方安装所有内容。

此外,这不能保证使用现有的Dreamhost Passenger配置。

我刚收到dreamhost的电子邮件。 我在大约2个月前通过电子邮件向他们发送了有关rails 3.0的电子邮件,他们正在开始将它推送到他们的服务器上。 假设事情已经完成,那么应该在一个月内支持rails 3。

我已经分配空间的梦想主机,双鱼座,似乎已经升级到Rails 3.0.3昨天。 我只注意到因为一个Redmine实例可怕地破坏了:(

截至今天,这是我的dreamhost机器:

$ rails -v Rails 3.0.3 $ ruby -v ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux] $ gem list *** LOCAL GEMS *** abstract (1.0.0) actionmailer (3.0.3, 2.3.8, 2.3.5, 2.3.4, 2.3.3, 2.2.2, 2.1.2, 2.1.1, 2.1.0, 2.0.5, 2.0.2) actionpack (3.0.3, 2.3.8, 2.3.5, 2.3.4, 2.3.3, 2.2.2, 2.1.2, 2.1.1, 2.1.0, 2.0.5, 2.0.2) actionwebservice (1.2.6, 1.2.3) activemodel (3.0.3) activerecord (3.0.3, 2.3.8, 2.3.5, 2.3.4, 2.3.3, 2.2.2, 2.1.2, 2.1.1, 2.1.0, 2.0.5, 2.0.2) activeresource (3.0.3, 2.3.8, 2.3.5, 2.3.4, 2.3.3, 2.2.2, 2.1.2, 2.1.1, 2.1.0, 2.0.5, 2.0.2) activesupport (3.0.3, 2.3.8, 2.3.5, 2.3.4, 2.3.3, 2.2.2, 2.1.2, 2.1.1, 2.1.0, 2.0.5, 2.0.2) acts_as_taggable (2.0.2, 1.0.4) ajax_scaffold_generator (3.1.11, 2.2.1) archive-tar-minitar (0.5.2, 0.5.1) arel (2.0.4) auth_generator (2.0.1, 1.5.3) Bloglines4R (0.1.0) BlueCloth (1.0.0) builder (2.1.2, 2.0.0) bundler (1.0.7) camping (1.5.180, 1.5) capistrano (2.5.1, 2.1.0, 1.4.1) classifier (1.3.1) cmdparse (2.0.2, 2.0.0) curb (0.1.4) daemons (1.0.10, 1.0.9) dbd-mysql (0.4.3) dbi (0.4.3) deprecated (2.0.1) erubis (2.6.6) eventmachine (0.12.10, 0.12.8) facets (2.2.1, 1.8.54) fastthread (1.0.7, 1.0.1) feedtools (0.2.29, 0.2.28) ferret (0.11.6, 0.11.4) flickr (1.0.2) gd2 (1.1.1, 1.1) gen (0.41.0) geoip (0.6.1) gettext (1.90.0) glue (0.41.0) gnuplot (2.2) gravtastic (2.0.0) gruff (0.3.1) haml (2.0.3) hoe (1.5.1) hpricot (0.6) htmltools (1.10) i18n (0.4.2, 0.4.1) localization_generator (1.0.8) login_generator (1.2.2) madeleine (0.7.3) mail (2.2.15) markaby (0.5) mechanize (0.7.6) metaid (1.0) mime-types (1.16) mini_magick (1.2.3) mysql (2.7) needle (1.3.0) net-sftp (1.1.1) net-ssh (2.0.23, 1.1.2) nitro (0.41.0) nokogiri (1.4.4) og (0.41.0) oniguruma (1.1.0) packet (0.1.14) PageTemplate (2.2.0) ParseTree (2.1.1) payment (1.0.1) pdf-writer (1.1.8) podcast (0.0.4) polyglot (0.3.1) rack (1.2.1, 1.1.0, 1.0.1, 1.0.0) rack-mount (0.6.13) rack-test (0.5.6) radiant (0.6.9) rails (3.0.3, 2.3.8, 2.3.5, 2.3.4, 2.3.3, 2.2.2, 2.1.2, 2.1.1, 2.1.0, 2.0.5, 2.0.2) railties (3.0.3) rake (0.8.7, 0.8.3, 0.8.2) RedCloth (3.0.4) rfacebook (0.9.8) rmagick (1.15.14) rspec (1.1.3) ruby-breakpoint (0.5.1) ruby-debug (0.10.0) ruby-openid (2.1.7) ruby-yadis (0.3.4) ruby_odeum (0.4.1) rubyforge (0.4.5) RubyInline (3.6.7) rubypants (0.2.0) rubyzip (0.9.1) ruport (1.6.0) ruport-util (0.14.0) ruwiki (0.9.3) salted_login_generator (2.0.2) shipping (1.5.1) SimpleSearch (0.5.0) sqlite3-ruby (1.2.1) stemmer (1.0.1) switchtower (1.0.1) syntax (1.0.0) tagtools (0.0.3) thor (0.14.6, 0.14.4) tidy (1.1.2) treetop (1.4.9) tzinfo (0.3.23) unicode (0.1) uuidtools (1.0.3) webgen (0.4.7) wee (0.10.0) xhtmldiff (1.0.0) xml-simple (1.0.11) ym4r (0.6.1) youtube-g (0.4.9.9) 

来自Passenger文档: http : //www.modrails.com/documentation/Users%20guide%20Apache.html#bundler_support

在您的应用中创建文件config / setup_load_paths.rb并添加以下行:

 $: << "/lib" 

我用这个命令解压缩了vendor / bundle路径中的bundler gem:

 gem unpack bundler --target=vendor/bundle 

其他gem:

 bundle install --deployment 

这应该适用于Dreamhost和Passenger> = 2.2.14

我能够通过使用rvm和fastcgi来实现这一点

我的.htaccess文件看起来像这样:

  AddHandler fastcgi-script .fcgi   AddHandler fcgid-script .fcgi  Options +FollowSymLinks +ExecCGI RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ dispatch.fcgi/$1 [QSA,L] ErrorDocument 500 "Rails application failed to start properly for your rails app" 

我的dispatch.fcgi看起来像(注意你需要填写):

 #!/usr/bin/env /home//.rvm/bin/ruby-1.9.3-p0@awesome require 'rubygems' require 'fcgi' ENV['RAILS_ENV'] ||= 'production' #ENV['RAILS_ENV'] = 'development' # Set GEM_PATH and GEM_HOME ("user" is your dreamhost user) ENV['GEM_HOME'] ||= '/home//.rvm/gems/ruby-1.9.3-p0@awesome' ENV['GEM_PATH'] ||= '/home//.rvm/gems/ruby-1.9.3-p0@awesome:/home//.rvm/gems/ruby-1.9.3-p0@global' require 'rubygems' Gem.clear_paths require File.join(File.dirname(__FILE__), '../config/environment') class Rack::PathInfoRewriter def initialize(app) @app = app end def call(env) env.delete('SCRIPT_NAME') parts = env['REQUEST_URI'].split('?') env['PATH_INFO'] = parts[0] env['QUERY_STRING'] = parts[1].to_s @app.call(env) end end Rack::Handler::FastCGI.run Rack::PathInfoRewriter.new(Imjustsayin::Application)