Jak skonfigurować aplikację Sinatra pod Apache z pasażerem?
Powiedzmy, że mam najprostszą aplikację z pojedynczymi plikami. Wystarczy hello world na ich stronie głównej. Chcę go uruchomić pod Apache z Phusion Passenger, AKA mod_rails.
- jakiej struktury katalogów potrzebuję?
- co muszę umieścić w pliku vhost conf? Rozumiem, że potrzebuję pliku. Co się w nim dzieje i dlaczego?
26
2 answers
Podstawowa struktura katalogów:
app
|-- config.ru # <- rackup file
|-- hello-app.rb # <- your application
|-- public/ # <- static public files (passenger needs this)
`-- tmp/
`-- restart.txt # <- touch this file to restart app
Plik wirtualnego hosta:
<VirtualHost *:80>
ServerName app.example.com
DocumentRoot /path/to/app/public
<Directory /path/to/app/public>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Config.ru
# encoding: UTF-8
require './hello-app'
run Sinatra::Application
Hello-app.rb (przykładowe zastosowanie):
#!/usr/bin/env ruby
# encoding: UTF-8
require 'rubygems' # for ruby 1.8
require 'sinatra'
get '/hi' do
"Hello World!"
end
restart.txt
jest pusty.
Lekko przydatne linki:
70
Author: kch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-08-02 13:22:48
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-08-02 13:22:48
Przykładowy plik vhost dla aplikacji rack z pasażerem:
<VirtualHost *:80>
ServerName server.local
ServerAlias *.server.local
DocumentRoot /dir/public
RackEnv development
<Directory /dir/public>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Przykład Config.ru:
require File.expand_path('../boot.rb', __FILE__)
use Rack::Middleware
run Rack::Cascade.new([array])
2
Author: nicholasklick,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-07-30 16:19:54
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-07-30 16:19:54