<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <title>Bloggitation - Home</title>
  <id>tag:blog.onxen.info,2007:mephisto/</id>
  <generator uri="http://mephistoblog.com" version="0.7.3">Mephisto Noh-Varr</generator>
  <link href="http://blog.onxen.info/feed/atom.xml" rel="self" type="application/atom+xml"/>
  <link href="http://blog.onxen.info/" rel="alternate" type="text/html"/>
  <updated>2007-03-07T02:23:28Z</updated>
  <entry xml:base="http://blog.onxen.info/">
    <author>
      <name>stoyan</name>
    </author>
    <id>tag:blog.onxen.info,2007-01-03:2</id>
    <published>2007-01-03T02:07:00Z</published>
    <updated>2007-03-07T02:23:28Z</updated>
    <link href="http://blog.onxen.info/2007/1/3/webserver-with-mongrel" rel="alternate" type="text/html"/>
    <title>Webserver with Mongrel</title>
<content type="html">
            &lt;p&gt;After seen a small webservers in &lt;a href=&quot;http://naoya.g.hatena.ne.jp/naoya/20061113/1163418064&quot;&gt;Perl&lt;/a&gt; and &lt;a href=&quot;http://subtech.g.hatena.ne.jp/secondlife/20061113/1163419442&quot;&gt;Ruby&lt;/a&gt; here is my try with using &lt;a href=&quot;http://mongrel.rubyforge.org/&quot;&gt;Mongrel&lt;/a&gt;  :&lt;/p&gt;


Start an webserver on all interfaces (0.0.0.0), port 3002, serving static pages from ./html/ directory:
&lt;pre&gt;
require 'mongrel'

config = Mongrel::Configurator.new :host =&amp;gt; &quot;0.0.0.0&quot;, :port =&amp;gt; 3002 do
  listener { uri &quot;/&quot;, :handler =&amp;gt; Mongrel::DirHandler.new(&quot;html/&quot;) }
  trap(&quot;INT&quot;) { stop }
  run
end

config.join
&lt;/pre&gt;
And with adding some statistics (on &lt;em&gt;http://.../status/&lt;/em&gt; URL):
&lt;pre&gt;
#!/usr/bin/env ruby
require 'rubygems'
require 'mongrel'
require 'yaml'

stats = Mongrel::StatisticsFilter.new(:sample_rate =&amp;gt; 1)

config = Mongrel::Configurator.new :host =&amp;gt; &quot;0.0.0.0&quot;, :port =&amp;gt; 3002 do
  listener do
    uri &quot;/&quot;, :handler =&amp;gt; Mongrel::DirHandler.new(&quot;html/&quot;)
    uri &quot;/&quot;, :handler =&amp;gt; stats
    uri &quot;/status&quot;, :handler =&amp;gt; Mongrel::StatusHandler.new(:stats_filter =&amp;gt; stats)
  end

  trap(&quot;INT&quot;) { stop }
  run
end

puts &quot;Mongrel running on 0.0.0.0:3002 with docroot ./html/&quot; 
config.join
&lt;/pre&gt;
I’m using it for serving static pages, generated with &lt;a href=&quot;http://rote.rubyforge.org/&quot;&gt;Rote&lt;/a&gt; – pretty fast ;)
          </content>  </entry>
</feed>
