[Nitro] Nitro on Apache

Arne Brasseur arne at arnebrasseur.net
Fri Oct 19 05:03:50 EDT 2007


Ok, this should fix FastCGI (and also CGI).

Cgi.process has been factored out into a seperate handler class and 
adapted to the way things currently work.

I've tested both CGI and FastCGI with Lighttpd and wrote a Tip on OxyWTF 
on how to configure Lighttpd for FastCGI.

(ab)

Arne Brasseur schreef:
> Patience, I'm almost done with this.
>
> (ab)
>
> Robert Mela schreef:
>   
>> Here's an initial cracking of the nut.  Needs much refinement.
>>
>> I have no idea whether this handles posts or not -- my hope is all the 
>> gnarly details are now handled by handle_context in adapter.rb.
>>
>> If the approach is acceptable then there's probably a lengthy method 
>> in raw/cgi.rb that can be removed.
>>
>>
>> require "raw/adapter"
>>
>> # No multi-threading.
>> Og.thread_safe = false if defined?(Og) and Og.respond_to?(:thread_safe)
>>
>> module Raw
>>
>> # A plain CGI adapter. To be used only in development
>> # environments, this adapter is *extremely* slow for
>> # live/production environments. This adapter is provided for
>> # the sake of completeness.
>>
>>  class CgiAdapter
>>    include AdapterHandlerMixin
>>  
>>    def start(server)     # for server in context of CGI this is start, 
>> middle and end!
>>      @application = server # expected by handle_context in adapter.rb
>>      context = Context.new(server)
>>      context.env = ENV
>>      uri = ENV['REQUEST_URI']
>>      script_name = ENV['SCRIPT_NAME']
>>      context.env['REQUEST_URI'] = uri.sub(/#{script_name}/i, '')
>>      handle_context( context )
>>      puts "Content-type: #{context.content_type}"
>>      context.response_headers['Content-length'] = 
>> context.output_buffer.length
>>      context.response_headers.each { |k,v| puts "#{k}: #{v}" }
>>      puts "\n"
>>      puts context.output_buffer
>>    end
>>  end
>> end
>>
>>     
>>> Arne Brasseur wrote:
>>>       
>>>> This seems the way to go, but unfortunately mod_proxy is not an 
>>>> option for me. I'm on shared hosting with little chance of changing 
>>>> apache's configuration, except by .htaccess files. It seems both cgi 
>>>> and fcgi adapters are simply broken because of changes to the 
>>>> adapter interface. E.g. what used to be class methods are now 
>>>> instance methods, but that's not all.
>>>>
>>>> Would it be hard to fix them? Or just one of them? I'm not too 
>>>> concerned about performance at this point, if it runs I'd be happy. 
>>>> If they're not being fixed please add a big BROKEN sign or remove 
>>>> them altogether.
>>>>
>>>> Thank you (once again)!
>>>>
>>>> (ab)
>>>>         
>>> _______________________________________________
>>> Nitro-general mailing list
>>> Nitro-general at rubyforge.org
>>> http://rubyforge.org/mailman/listinfo/nitro-general
>>>       
>> _______________________________________________
>> Nitro-general mailing list
>> Nitro-general at rubyforge.org
>> http://rubyforge.org/mailman/listinfo/nitro-general
>>     
>
>
>   


-- 
Arne Brasseur
http://www.arnebrasseur.net
http://www.zhongwiki.com
http://www.bankske.org
arne at arnebrasseur.net

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://rubyforge.org/pipermail/nitro-general/attachments/20071019/4d6e1b85/attachment-0001.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bundle_ab_20071019.patch
Type: text/x-patch
Size: 73601 bytes
Desc: not available
Url : http://rubyforge.org/pipermail/nitro-general/attachments/20071019/4d6e1b85/attachment-0001.bin 


More information about the Nitro-general mailing list