<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <title>Fluxura - Home</title>
  <id>tag:fluxura.com,2008:mephisto/</id>
  <generator version="0.7.3" uri="http://mephistoblog.com">Mephisto Noh-Varr</generator>
  <link href="http://fluxura.com/feed/atom.xml" rel="self" type="application/atom+xml"/>
  <link href="http://fluxura.com/" rel="alternate" type="text/html"/>
  <updated>2008-01-07T16:04:27Z</updated>
  <entry xml:base="http://fluxura.com/">
    <author>
      <name>admin</name>
    </author>
    <id>tag:fluxura.com,2008-01-07:244</id>
    <published>2008-01-07T15:56:00Z</published>
    <updated>2008-01-07T16:04:27Z</updated>
    <link href="http://fluxura.com/2008/1/7/archived" rel="alternate" type="text/html"/>
    <title>Archived</title>
<content type="html">
            &lt;p&gt;It looks like Zed has been sending some traffic this way. Unfortunately, I don&#8217;t blog here anymore. For Rails stuff, check out the &lt;a href=&quot;http://blog.railsmachine.com&quot;&gt;Rails Machine Blog&lt;/a&gt;. For personal stuff, &lt;a href=&quot;http://azilia.com&quot;&gt;Azilia: Bird Dogs and Honky Tonk&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Adios.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://fluxura.com/">
    <author>
      <name>admin</name>
    </author>
    <id>tag:fluxura.com,2007-06-18:177</id>
    <published>2007-06-18T20:17:00Z</published>
    <updated>2007-06-18T20:18:09Z</updated>
    <link href="http://fluxura.com/2007/6/18/neglect" rel="alternate" type="text/html"/>
    <title>Neglect</title>
<content type="html">
            After months of neglect, I finally updated this thing to Mephisto. Hopefully, it will stop the server crashes by banishing Typo!
          </content>  </entry>
  <entry xml:base="http://fluxura.com/">
    <author>
      <name>admin</name>
    </author>
    <id>tag:fluxura.com,2006-07-10:86</id>
    <published>2006-07-10T09:49:50Z</published>
    <updated>2007-06-18T20:07:12Z</updated>
    <link href="http://fluxura.com/2006/7/10/migration" rel="alternate" type="text/html"/>
    <title>Migration</title>
<content type="html">
            &lt;p&gt;This blog is now running on my personal &lt;a href=&quot;http://railsmachine.com&quot;&gt;Rails Machine&lt;/a&gt;. I&#8217;ve also updated to the latest Typo trunk to fix &lt;a href=&quot;http://scottstuff.net/blog/articles/2006/07/08/ding-dong-the-memory-leak-in-typo-is-dead&quot;&gt;The Great Typo Memory Leak of 2006&lt;/a&gt;.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://fluxura.com/">
    <author>
      <name>admin</name>
    </author>
    <id>tag:fluxura.com,2006-06-16:85</id>
    <published>2006-06-16T11:34:17Z</published>
    <updated>2007-06-18T20:07:12Z</updated>
    <link href="http://fluxura.com/2006/6/16/welcome" rel="alternate" type="text/html"/>
    <title>Welcome</title>
<content type="html">
            &lt;p&gt;... to the &lt;a href=&quot;http://railsmachine.com&quot;&gt;machine&lt;/a&gt;.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://fluxura.com/">
    <author>
      <name>admin</name>
    </author>
    <id>tag:fluxura.com,2006-06-12:84</id>
    <published>2006-06-12T01:35:26Z</published>
    <updated>2007-06-18T20:07:12Z</updated>
    <link href="http://fluxura.com/2006/6/12/rails-site-now-using-mongrel-with-mongrel_cluster" rel="alternate" type="text/html"/>
    <title>Rails site now using Mongrel with mongrel_cluster</title>
<content type="html">
            &lt;p&gt;The Ruby On Rails site received a &lt;a href=&quot;http://weblog.rubyonrails.org/2006/6/11/rails-system-back-on-track&quot;&gt;stack overhaul&lt;/a&gt; and is now running Apache 2.2 and Mongrel with mongrel_cluster. We will be offering this same stack with Rails Machine which should be ready any day now.&lt;/p&gt;


	&lt;p&gt;One of these days I need to migrate this site!&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://fluxura.com/">
    <author>
      <name>admin</name>
    </author>
    <id>tag:fluxura.com,2006-05-19:83</id>
    <published>2006-05-19T21:33:00Z</published>
    <updated>2007-06-18T20:07:12Z</updated>
    <link href="http://fluxura.com/2006/5/19/apache-for-static-and-mongrel-for-rails-with-mod_deflate-and-capistrano-support" rel="alternate" type="text/html"/>
    <title>Apache for static and Mongrel for Rails (with mod_deflate and Capistrano support)</title>
<content type="html">
            &lt;p&gt;Here&#8217;s an Apache 2.2 conf for delegating requests for static files to Apache and Rails requests to Mongrel. Output from Apache and Mongrel will be compressed with mod_deflate. Support for Capistrano&#8217;s disable_web task and directory structure is also in there. You need mod_proxy_balancer, mod_rewrite, and mod_deflate  loaded.&lt;/p&gt;


	&lt;p&gt;It still needs a little tweaking and review, but this should get y&#8217;all started. Something  similar to this will be included in our deployment RubyGem that will ship with &lt;a href=&quot;http://railsmachine.com&quot;&gt;Rails Machine&lt;/a&gt; in the next few weeks (almost there!).&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;&amp;lt;virtualhost&gt;
  ServerName yourdomain.com
  DocumentRoot /var/apps/your_app/current/public

  &amp;lt;directory&gt;
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
  &amp;lt;/directory&gt;

  # Configure mongrel_cluster 
  &amp;lt;proxy /&gt;
    BalancerMember http://127.0.0.1:8000
    BalancerMember http://127.0.0.1:8001
    BalancerMember http://127.0.0.1:8002
    BalancerMember http://127.0.0.1:8003
    BalancerMember http://127.0.0.1:8004
    BalancerMember http://127.0.0.1:8005
  &amp;lt;/proxy&gt;

  RewriteEngine On

  # Uncomment for rewrite debugging 
  #RewriteLog logs/your_app_rewrite_log
  #RewriteLogLevel 9 

  # Check for maintenance file and redirect all requests
  RewriteCond %{DOCUMENT_ROOT}/system/maintenance.html -f
  RewriteCond %{SCRIPT_FILENAME} !maintenance.html
  RewriteRule ^.*$ /system/maintenance.html [L]

  # Rewrite index to check for static
  RewriteRule ^/$ /index.html [QSA] 

  # Rewrite to check for Rails cached page
  RewriteRule ^([^.]+)$ $1.html [QSA]

  # Redirect all non-static requests to cluster
  RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
  RewriteRule ^/(.*)$ balancer://mongrel_cluster%{REQUEST_URI} [P,QSA,L]

  # Deflate
  AddOutputFilterByType DEFLATE text/html text/plain text/xml
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

  # Uncomment for deflate debugging
  #DeflateFilterNote Input input_info
  #DeflateFilterNote Output output_info
  #DeflateFilterNote Ratio ratio_info
  #LogFormat '&quot;%r&quot; %{output_info}n/%{input_info}n (%{ratio_info}n%%)' deflate
  #CustomLog logs/your_app_deflate_log deflate

  ErrorLog logs/your_app_error_log
  CustomLog logs/your_access_log combined
&amp;lt;/virtualhost&gt;&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Please let me know how it works for you!&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://fluxura.com/">
    <author>
      <name>admin</name>
    </author>
    <id>tag:fluxura.com,2006-05-18:82</id>
    <published>2006-05-18T17:27:31Z</published>
    <updated>2007-06-18T20:07:12Z</updated>
    <link href="http://fluxura.com/2006/5/18/zed-on-mongrel-and-rails" rel="alternate" type="text/html"/>
    <title>Zed on Mongrel and Rails</title>
<content type="html">
            &lt;p&gt;Check out this &lt;a href=&quot;http://www.oreillynet.com/ruby/blog/2006/05/post.html&quot;&gt;interview&lt;/a&gt; with Zed Shaw on Mongrel and the future of Rails.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://fluxura.com/">
    <author>
      <name>admin</name>
    </author>
    <id>tag:fluxura.com,2006-05-01:81</id>
    <published>2006-05-01T11:57:00Z</published>
    <updated>2007-06-18T20:07:12Z</updated>
    <link href="http://fluxura.com/2006/5/1/mongrel_cluster-0-1-1-the-bird-dog-capistrano-support" rel="alternate" type="text/html"/>
    <title>mongrel_cluster-0.1.1: the bird dog (capistrano support!)</title>
<content type="html">
            &lt;p&gt;mongrel_cluster provides management tools for running &lt;a href=&quot;http://mongrel.rubyforge.org&quot;&gt;Mongrel&lt;/a&gt;  behind a reverse-proxy/load balancer. It is an extraction from &lt;a href=&quot;http://railsmachine.com&quot;&gt;Rails Machine&lt;/a&gt;, a deployment service and Ruby library that simplifies Rails application deployment. This release fixes bugs and adds a &lt;a href=&quot;http://manuals.rubyonrails.com/read/book/17&quot;&gt;Capistrano&lt;/a&gt; task library.&lt;/p&gt;


	&lt;p&gt;Changes:&lt;/p&gt;


	&lt;p&gt;-changed pid file format to include port&lt;/p&gt;


	&lt;p&gt;-only write configuration options that are explicitly specified or required.&lt;/p&gt;


	&lt;p&gt;-removed some validation rules and delegate to mongrel_rails.&lt;/p&gt;


	&lt;p&gt;-added Capistrano task library.&lt;/p&gt;


	&lt;p&gt;Please rerun mongrel_rails cluster::configure to ensure smooth operation.&lt;/p&gt;


	&lt;p&gt;&lt;b&gt;&lt;strong&gt;Capistrano Recipe&lt;/b&gt;&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;Add to config/deploy.rb:&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;require 'mongrel_cluster/recipes'&lt;/code&gt;&lt;/pre&gt;

Example usage:
&lt;pre&gt;&lt;code&gt;cap -a configure_mongrel_cluster&lt;/code&gt;&lt;/pre&gt;

Variables
&lt;pre&gt;&lt;code&gt;mongrel_servers: Number of Mongrel servers to start.
mongrel_port: Starting port to bind to.
mongrel_address: Address to bind to.
mongrel_environment: Rails environment to run as.
mongrel_config: Path to config file.
use_sudo: Whether or not tasks that can use sudo, ought to use sudo. Capistrano defaults to true.&lt;/code&gt;&lt;/pre&gt;

Tasks (performed on :app role)
&lt;pre&gt;&lt;code&gt;configure_mongrel_cluster: Configure the cluster with variables. Uses sudo if use_sudo is true.
start_mongrel_cluster: Start Mongrel processes on the app server. Uses sudo if use_sudo is true.
stop_mongrel_cluster: Stop the Mongrel processes on the app server. Uses sudo if use_sudo is true.
restart_mongrel_cluster: Restart the Mongrel processes on the app server. Uses sudo if use_sudo is true.
restart: Calls restart_mongrel_cluster to allow Mongrel to be used with the standard Capistrano deploy task.
spinner: Calls start_mongrel_cluster to allow Mongrel to be used with the standard Capistrano cold_deploy task.&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Good luck and let me know how it works for ya!&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://fluxura.com/">
    <author>
      <name>admin</name>
    </author>
    <id>tag:fluxura.com,2006-04-24:80</id>
    <published>2006-04-24T13:22:00Z</published>
    <updated>2007-06-18T20:07:11Z</updated>
    <link href="http://fluxura.com/2006/4/24/easy-mongrel-clustering-with-mongrel_cluster" rel="alternate" type="text/html"/>
    <title>Easy Mongrel Clustering with mongrel_cluster</title>
<content type="html">
            &lt;p&gt;A quick note to announce the release of mongrel_cluster, a &lt;a href=&quot;http://mongrel.rubyforge.org/docs/gem_plugin.html&quot;&gt;gem_plugin&lt;/a&gt; for the &lt;a href=&quot;http://mongrel.rubyforge.org/&quot;&gt;Mongrel&lt;/a&gt; web/application server. This plugin makes it easy to manage multiple Mongrel processes behind a reverse-proxy server and load balancer such as &lt;a href=&quot;http://www.apsis.ch/pound/&quot;&gt;Pound&lt;/a&gt;, Balance, Lighttpd, or Apache.&lt;/p&gt;


	&lt;p&gt;This is the first of many release to support simplified Ruby on Rails application deployment using &lt;a href=&quot;http://railsmachine.com&quot;&gt;Rails Machine&lt;/a&gt;.&lt;/p&gt;


	&lt;h4&gt;Setup&lt;/h4&gt;


	&lt;p&gt;To get started, install the gem:&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;sudo gem install mongrel_cluster&lt;/code&gt;&lt;/pre&gt;

Configure the cluster and generate a configuration file. This will run 2 mongrel processes on port 8000 and 8001 using &#8220;production&#8221; environment :
&lt;pre&gt;&lt;code&gt;cd /path/to/my/rad/app
mongrel_rails cluster::configure -p 8000 -e production -a 127.0.0.1&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;With the configuration file written, you can easily start, stop, and restart the cluster. By default the file is written to &lt;strong&gt;config/mongrel_cluster.yml&lt;/strong&gt;, but you can change the path with the &#8220;-C&#8221; option.&lt;/p&gt;


Start the cluster:
&lt;pre&gt;&lt;code&gt;mongrel_rails cluster::start&lt;/code&gt;&lt;/pre&gt;

Restart the cluster:
&lt;pre&gt;&lt;code&gt;mongrel_rails cluster::restart&lt;/code&gt;&lt;/pre&gt;

Stop the cluster:
&lt;pre&gt;&lt;code&gt;mongrel_rails cluster::stop&lt;/code&gt;&lt;/pre&gt;

	&lt;h4&gt;Reverse proxy and load balancing&lt;/h4&gt;


	&lt;p&gt;&lt;a href=&quot;http://www.apsis.ch/pound/&quot;&gt;Pound&lt;/a&gt; is a reverse proxy, load balancer and &lt;span class=&quot;caps&quot;&gt;HTTPS&lt;/span&gt; front-end. It is very  easy to configure for use in front of a mongrel cluster.&lt;/p&gt;


	&lt;p&gt;Install Pound from source or packaging system of choice then edit your configuraton (most likely in /etc/pound/pound.conf).&lt;/p&gt;


Sample configuration for use with mongrel_cluster:
&lt;pre&gt;&lt;code&gt;User &quot;nobody&quot; 
Group &quot;nobody&quot; 

ListenHTTP
  Address ip.address.goes.here
  Port 80

  Service
    Backend
      Address 127.0.0.1
      Port 8000
    End
    Backend
      Address 127.0.0.1
      Port 8001
    End
  End 
End&lt;/code&gt;&lt;/pre&gt;

Start Pound:
&lt;pre&gt;&lt;code&gt;sudo pound -f /etc/pound/pound.conf&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;So far in our testing for &lt;a href=&quot;http://railsmachine.com&quot;&gt;Rails Machine&lt;/a&gt;, this setup works  well and its dead simple to setup and maintain. If you don&#8217;t want Mongrel to handle static files you could put lighttpd behind Pound and route requests for /images, /stylesheets, /javascript, and other specific paths. This will give you a performance boost on static files, but increase the complexity of your deployment. Your application &lt;strong&gt;may not need&lt;/strong&gt; faster static file serving.&lt;/p&gt;


	&lt;p&gt;For information on using Mongrel behind Apache, read   &lt;a href=&quot;http://blog.innerewut.de/articles/2006/04/21/scaling-rails-with-apache-2-2-mod_proxy_balancer-and-mongrel&quot;&gt;Scaling with Rails with Apache  2.2, mod_proxy_balancer and Mongrel&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Good luck!&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://fluxura.com/">
    <author>
      <name>admin</name>
    </author>
    <id>tag:fluxura.com,2006-04-13:79</id>
    <published>2006-04-13T00:13:29Z</published>
    <updated>2007-06-18T20:07:11Z</updated>
    <link href="http://fluxura.com/2006/4/13/in-vancouver" rel="alternate" type="text/html"/>
    <title>In Vancouver</title>
<content type="html">
            &lt;p&gt;Just made it to Vancouver for &lt;a href=&quot;http://canadaonrails.com&quot;&gt;Canada on Rails&lt;/a&gt; by air, by sea, and by land. Check out the Flickr &lt;a href=&quot;http://www.flickr.com/photos/80218722@N00/sets/72057594105707334/&quot;&gt;set&lt;/a&gt; and &lt;a href=&quot;http://www.flickr.com/groups/canadaonrails/&quot;&gt;group&lt;/a&gt;.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://fluxura.com/">
    <author>
      <name>admin</name>
    </author>
    <id>tag:fluxura.com,2006-03-22:78</id>
    <published>2006-03-22T21:55:36Z</published>
    <updated>2007-06-18T20:07:11Z</updated>
    <link href="http://fluxura.com/2006/3/22/hostel-in-the-forest" rel="alternate" type="text/html"/>
    <title>Hostel in the Forest</title>
<content type="html">
            &lt;p&gt;The &lt;a href=&quot;http://foresthostel.com/&quot;&gt;Hostel in the Forest&lt;/a&gt; is up and running with a nice little site built in Rails. Fluxura is continuing its mission to help folks manage their own web sites using easy to use tools.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://fluxura.com/">
    <author>
      <name>admin</name>
    </author>
    <id>tag:fluxura.com,2006-03-22:77</id>
    <published>2006-03-22T15:51:55Z</published>
    <updated>2007-06-18T20:07:11Z</updated>
    <link href="http://fluxura.com/2006/3/22/canada-on-rails" rel="alternate" type="text/html"/>
    <title>Canada on Rails</title>
<content type="html">
            &lt;p&gt;Looks like I&#8217;m going to &lt;a href=&quot;http://canadaonrails.com/&quot;&gt;Canada on Rails&lt;/a&gt;. Drop me a line if you want to grab a beer! I love Vancouver. I&#8217;ve been twice before and its a great town to visit.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://fluxura.com/">
    <author>
      <name>admin</name>
    </author>
    <id>tag:fluxura.com,2006-03-16:76</id>
    <published>2006-03-16T17:42:00Z</published>
    <updated>2007-06-18T20:07:11Z</updated>
    <link href="http://fluxura.com/2006/3/16/evoca" rel="alternate" type="text/html"/>
    <title>Evoca</title>
<content type="html">
            &lt;p&gt;&lt;a href=&quot;http://evoca.com&quot;&gt;Evoca&lt;/a&gt; is a service for sharing voice recordings by a Savannah-based company. Really neat. Check it out.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://fluxura.com/">
    <author>
      <name>admin</name>
    </author>
    <id>tag:fluxura.com,2006-03-03:75</id>
    <published>2006-03-03T12:46:00Z</published>
    <updated>2007-06-18T20:07:11Z</updated>
    <link href="http://fluxura.com/2006/3/3/rails-machine-news" rel="alternate" type="text/html"/>
    <title>Rails Machine News</title>
<content type="html">
            &lt;p&gt;Just quick update on my latest adventure. &lt;a href=&quot;http://railsmachine.com&quot;&gt;Rails Machine&lt;/a&gt; has a sneak peek page up. Check out the movie on deploying a Rails application in 5 minutes.&lt;/p&gt;


	&lt;p&gt;We also got a nice &lt;a href=&quot;http://weblog.rubyonrails.com/articles/2006/03/03/sneak-peak-at-effortless-deployment-with-rails-machine&quot;&gt;mention&lt;/a&gt; on the Ruby on Rails weblog.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://fluxura.com/">
    <author>
      <name>admin</name>
    </author>
    <id>tag:fluxura.com,2006-02-20:74</id>
    <published>2006-02-20T17:18:00Z</published>
    <updated>2007-06-18T20:07:11Z</updated>
    <link href="http://fluxura.com/2006/2/20/monday-misc-swithtower-prototype-and-rails-sti" rel="alternate" type="text/html"/>
    <title>Monday Misc - SwithTower, Prototype and Rails STI</title>
<content type="html">
            &lt;p&gt;Some development tidbits for the day&#8230;&lt;/p&gt;


	&lt;p&gt;- &lt;a href=&quot;http://manuals.rubyonrails.com/read/chapter/97&quot;&gt;SwitchTower&lt;/a&gt; 1.0 is out. Includes extension libraries, new tasks, and &lt;em&gt;set&lt;/em&gt; now accepts a block as argument. The &lt;em&gt;restart_via&lt;/em&gt; variable has been changed to &lt;em&gt;use_sudo&lt;/em&gt; which requires updating your &lt;em&gt;deploy.rb&lt;/em&gt;.&lt;/p&gt;


	&lt;p&gt;- Snook has posted a Prototype desktop &lt;a href=&quot;http://www.snook.ca/archives/000531.php&quot;&gt;cheat sheet&lt;/a&gt; in various resolutions, sizes, and colors.&lt;/p&gt;


	&lt;p&gt;- If you use &lt;em&gt;act_as_list&lt;/em&gt; in your ActiveRecord model with single table inheritance (STI), you can scope the list by &lt;em&gt;type&lt;/em&gt; by calling &lt;em&gt;acts_as_list&lt;/em&gt; without the &lt;em&gt;scope&lt;/em&gt; argument in the super&#8217;s &lt;em&gt;inherited&lt;/em&gt; class method:&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;class Category &amp;lt; ActiveRecord::Base 
  validates_presence_of :name

  def self.inherited(sub)
    sub.acts_as_list
  end
end&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;- When using &lt;span class=&quot;caps&quot;&gt;STI&lt;/span&gt;, if you want to keep all of your subsclasses in the same source file as the super, add &lt;em&gt;model :your_super_class&lt;/em&gt; to &lt;em&gt;ApplicationController&lt;/em&gt;. This will prevent errors if Rails tries to load a subclass before your superclass.&lt;/p&gt;
          </content>  </entry>
</feed>
