Jano Svitok
10/9/2006 11:03:00 AM
On 10/9/06, Pet Farrari <pf@auth.net.au> wrote:
> Thiago Jackiw wrote:
> > Pet,
> >
> > It seems you have a Ruby on Rails web app running on your machine. The
> > dispatch.fcgi file is, as its name says, a dispatcher for your rails
> > app and it's handled by your apache's mod_fcgi.
> >
> > Hope it helps.
> >
> > Thiago
> >
> Hi in the same directory as the dispatch.cgi file, I also found a file
> dispatch.rb a ruby script file. But I don't know how this both
> dispatch.cgi and dispatch.rb file are related.
> In the dispatch.cgi file, what command/ruby script does it dispatched?
> The dispatch.rb file has the following implementation:
> # less dispatch.rb
> #!/usr/local/bin/ruby18
>
> require File.dirname(__FILE__) + "/../config/environment" unless
> defined?(RAILS_ROOT)
>
> # If you're using RubyGems and mod_ruby, this require should be changed
> to an absolute path one, like:
> # "/usr/local/lib/ruby/gems/1.8/gems/rails-0.8.0/lib/dispatcher" --
> otherwise performance is severely impaired
> require "dispatcher"
>
> ADDITIONAL_LOAD_PATHS.reverse.each { |dir| $:.unshift(dir) if
> File.directory?(dir) } if defined?(Apache::RubyRun)
> Dispatcher.dispatch
>
> Thanks
> S
>
> >
> > On 10/8/06, Pet Farrari <pf@auth.net.au> wrote:
> >> Hi,
> >>
> >> I found there are some Ruby programs are running in this development
> >> machines. Now I need to add some functionality into the Ruby program,
> >> but I don't know where to look into its starting program or its main
> >> body of the program.
> >>
> >> in aparche/httpd.conf file:
> >> <IfDefine SSL>
> >>
> >> ##
> >> ## SSL Virtual Host Context
> >> ##
> >>
> >> FastCgiServer /www/apps/scripts/public/dispatch.fcgi -idle-timeout 90
> >> -initial-env RAILS_ENV=production -processes 10
> >>
> >> <VirtualHost _default_:443>
> >>
> >>
> >> Here is the dispatch.fcgi script:
> >> require File.dirname(__FILE__) + "/../config/environment"
> >> require 'fcgi_handler'
> >>
> >> RailsFCGIHandler.process!
> >>
> >> I got stuck. I don't know how does this dispatch.fcgi program invoke
> >> which ruby main program...
> >>
> >> Can anyone please shed some light on me?
As was said before, you have a rails application. It's not neccessary
to dive into deep parts of the code. You'd rather read some tutorial
on rails, so you know how to write models, controllers, views and
helpers. That way you'll faster see the forest, instead of individual
trees ;-) When you'll know this, you can find the appropriate stuff,
judging by the url that you call.
small hints:
1. all the interesting stuff is in the app directory. urls are sent to
controllers - /controller (=class)/action (=method)/all other
parameters
2. most of the things you see are in views, the common parts are
shared in laayouts
3. the data are in models