- , . = = .
CGI
CGI , - (-) . cgi:
require "cgi"
cgi= CGI.new
answer= evaluate(cgi.params)
cgi.out do
answer
end
. Rack - , - (cgi, fastcgi, webrick,...). , cgi. , .ru cgi.
require "rack/request"
run (lambda do |env|
request= Rack::Request(env)
anwser= evaluate(request.params)
return [200, {}, answer]
end)
cgi, . , - webrick. - -, .ru.
CGI
fast-cgi CGI. , CGI script , . cgi script . , fast-cgi script ruby.
mod_ruby
mod_ruby - apache. mod_php apache.
mongrel - - . .
require 'mongrel'
class SimpleHandler < Mongrel::HttpHandler
def process(request, response)
response.start(200) do |head,out|
head["Content-Type"] = "text/plain"
out.write("hello world!\n")
end
end
end
h = Mongrel::HttpServer.new("0.0.0.0", "3000")
h.register("/hello", SimpleHandler.new)
h.run.join
Mongrel . apache - 80. -, mongrel-, . , .
phusion
mod_rails mod_rack. apache nginx . - 1/3 , . , , , cgi fast-cgi.