From: Sean Chittenden Date: 2002-04-08T12:17:54+09:00 Subject: Re: ModRUBY question > > Anyway, with the above diagram, you should be able to see that you > > can have your request served by possibly many apache processes, > > Wouldn't it be more accurate to say that your request may be served > by 'one' of possibly many apache processes? That is, a request is > served by a single process, not by one or more processes. Correct. _One_ of the child processes will serve the request. > > each apache process has its own interpreter. > What is this ------------------------^ > > > Under mod_ruby, one apache process = one Ruby interpreter. > > Ok, so each apache process will have an associated ruby process > (not mod_ruby)? mod_ruby is an Apache module that embeds the Ruby interpreter into an Apache process. There is no external ruby interpreter. $$ in a Ruby script is the same PID as the webserver serving the request. > > If you're shaky up to this point, don't read on. :~) The reason I > > would say that there is only one mod_ruby instance is because > > mod_ruby behaves the same on all Apache processes in the diagram > > above. -sc > > (I'm not trying to be difficult here, but) so mod_ruby is an > application with a single process running on a server and is used > by all of the apache processes? Ehh... not quite. mod_ruby instance = set of configuration directives that apply to all of the Apache. Once you turn on mod_ruby for Apache, what you specify for configuration directives applies to the entire webserver instance. The only reason I'm particular with the terminology is that I'll often run a webserver with 2-3 copies of apache listening on various ports w/ various different configurations. <:~) -sc -- Sean Chittenden