[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