From: Jan Svitok Date: 2006-10-09T20:02:44+09:00 Subject: Re: where to start On 10/9/06, Pet Farrari 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 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: > >> > >> > >> ## > >> ## SSL Virtual Host Context > >> ## > >> > >> FastCgiServer /www/apps/scripts/public/dispatch.fcgi -idle-timeout 90 > >> -initial-env RAILS_ENV=production -processes 10 > >> > >> > >> > >> > >> 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