Рельсы 3 на Dreamhost?
Я хотел бы развернуть небольшое приложение Rails 3 на Dreamhost (только для целей тестирования, ничего серьезного), и мне интересно, если кто-нибудь уже сделал это... Пожалуйста, выберите один из следующих:
- Я сделал это, и это очень легко, вот как: ...
- Хотя я не пробовал, это должно быть легко, вот как: ...
- Это довольно сложно, но это должно помочь вам начать....
- НЕТ WAI!!!1! One!1 Установите его на slicehost или другой неиспользуемый хостинг, иначе вы умрете мучительной смертью, пытаясь форсировать его на DH
Мысли?
8 ответов
К сожалению, я думаю, что это во многом зависит от того, как Dreamhost установит для вас гемы и предоставит доступ к ним через общую среду. Вы можете связаться с их отделом поддержки для получения дополнительной информации о том, когда и когда они планируют развертывание Rails 3 на своих общих серверах.
С другой стороны, вы могли бы сделать то, что подразумевает ваш четвертый вариант, и просто пойти дальше и где-нибудь получить срез (это не обязательно должно быть с SliceHost; вы могли бы дешево развернуть с Heroku), что позволяет вам развертывать ваши собственные гемы.
Надеюсь это поможет!
Вы можете сделать это, но это требует продвинутых навыков системного администратора.
Чтобы использовать Rails 3 на DreamHost, вам необходимо:
- установить Ruby 1.8.7
- установить RubyGems
- установить Rails 3
все в вашем собственном домашнем каталоге, потому что у вас нет прав устанавливать все в другом месте.
Кроме того, это не гарантирует работу с существующей конфигурацией Dreamhost Passenger.
Вот несколько свежих инструкций:
Я только что получил письмо от Dreamhost. Я написал им около 2 месяцев назад о rails 3.0, и они начинают загружать его на свои серверы, как мы говорим. При условии, что все получится, рельсы 3 должны быть поддержаны в течение месяца.
Машина-мечта, на которой я выделил место, pisces, похоже, вчера обновилась до Rails 3.0.3. Я только заметил, потому что экземпляр Redmine ужасно сломался:(
На сегодняшний день вот какая машина моей мечты:
$ 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)
Я смог заставить это работать с помощью rvm и fastcgi
Мой файл.htaccess выглядел так:
<IfModule mod_fastcgi.c>
AddHandler fastcgi-script .fcgi
</IfModule>
<IfModule mod_fcgid.c>
AddHandler fcgid-script .fcgi
</IfModule>
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/<MY_HOME_DIR>/.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/<MY_HOMEDIR>/.rvm/gems/ruby-1.9.3-p0@awesome'
ENV['GEM_PATH'] ||= '/home/<MY_HOMEDIR>/.rvm/gems/ruby-1.9.3-p0@awesome:/home/<MY_HOMEDIR>/.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)
Из документации для пассажиров: http://www.modrails.com/documentation/Users%20guide%20Apache.html
Создайте файл config/setup_load_paths.rb в своем приложении и добавьте следующую строку:
$: << "<path-where-bundler-gem-was-installed>/lib"
Я распаковал пакетный драгоценный камень в вендоре / пути пакета с этой командой:
gem unpack bundler --target=vendor/bundle
И другие драгоценные камни с:
bundle install --deployment
Это должно работать с Dreamhost и Passenger >= 2.2.14