Sinatra - Apache - mod_rails

Хостинг на Sinatra приложение с Apache и mod_rails

Примерен Apache vhost:

<VirtualHost *>
  ServerName [DOMAIN].com
  ServerAlias www.[DOMAIN].com
  DocumentRoot /www/[DOMAIN]/public
</VirtualHost>


config.ru
require 'index'
set :environment, :production
run Sinatra::Application


index.rb
require 'rubygems'
require 'sinatra'

#Home Page
get '/' do
  "Това е всичко...давай напред!"
end


Примерна структура на Sinatra приложение
config.ru
index.rb
lib/
log/
public/
Rakefile
tmp/
views/


Рестартиране на приложението
touch tmp/restart.txt


Може да използвате DreamHost за хостинг. Когато настройвате домейн-а си в DreamHost, просто му кажете да активира Ruby on Rails(mod_rails) и задайте, като директория "/public"

Apache 2.2 performance tunning

ExpiresActive On
ExpiresByType image/gif "access plus 1 weeks"
ExpiresByType image/png "access plus 1 weeks"
ExpiresByType image/jpeg "access plus 1 weeks"
ExpiresByType text/css "access plus 1 weeks"
ExpiresByType text/javascript "access plus 1 weeks"
ExpiresByType application/x-javascript "access plus 1 weeks"
FileETag none
# Deflate
SetOutputFilter DEFLATE 
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css ap
plication/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0

Linode VPS, ubuntu 8.04, ruby on rails

Ubuntu 8.04
Ruby on Rails
Linode VPS

apt-get update
apt-get install build-essential
apt-get install phpmyadmin
apt-get install mysql-server mysql-common
apt-get install  zlib1g-dev  libssl-dev libreadline5-dev
apt-get install apache2-prefork-dev libapr1-dev
apt-get install imagemagick
apt-get install gettext
apt-get install subversion git-core
apt-get install ruby1.8 ruby1.8-dev ri1.8
apt-get install libncurses5-dev

ln -s /usr/bin/ruby1.8 /usr/bin/ruby
apt-get install libmysqlclient15-dev
apt-get install libmagick9-dev 
apt-get install libopenssl-ruby1.8


cd /tmp/
wget http://rubyforge.org/frs/download.php/55066/rubygems-1.3.2.tgz
tar xzvf rubygems-1.3.2.tgz 
cd rubygems-1.3.2
ruby setup.rb 
ln -s /usr/bin/gem1.8 /usr/bin/gem
gem sources -a http://gems.github.com
gem install mysql
gem install rails -v 2.3.2
gem install capistrano
gem install rmagick
gem install hpricot
gem install httparty

cd /tmp/
wget http://rubyforge.org/frs/download.php/51100/ruby-enterprise-1.8.6-20090201.tar.gz
tar xzvf ruby-enterprise-1.8.6-20090201.tar.gz 
./ruby-enterprise-1.8.6-20090201/installer
/opt/ruby-enterprise-1.8.6-20090201/bin/passenger-install-apache2-module
ln -s /opt/ruby-enterprise-1.8.6-20090201/ /opt/ruby
/opt/ruby/bin/gem  sources -a http://gems.github.com
/opt/ruby/bin/gem install capistrano
/opt/ruby/bin/gem install rmagick
/opt/ruby/bin/gem install hpricot
/opt/ruby/bin/gem install httparty