Revision 10 - 2012-08-05 at 21:54:18 Rolled Back (Current: 7)

MojoMojo Running via External FastCGI


MojoMojo is avant-garde wiki software that uses the Catalyst Framework and a buttload of CPAN modules. External FastCGI is useful for separating the application processes from the web server. MojoMojo, being a Catalyst application, gives you a FastCGI enabled application for free. Once you've gotten MojoMojo installed, it's easy as pie to configure apache to use external FastCGI instances of MojoMojo. Read on to find out how. Jam Tangan Murah timbangan Penumbuh Rambut Bisnis Modal Kecil



FastCGI is an CGI done right. It is designed to improve peformance and scalability of CGI. A distinct advantage of running FastCGI instances in their own process space is the separation of application processes from the web server. Thus application restarts don't require web server restarts which is real handy for times when the site is busy but the application must be restarted.


  • Perl Modules: FCGI and FCGI::ProcManager
  • Apache module: mod_fastcgi - installed from debian package: libapache2-mod-fastcgi
  • Enable the module with fastcgi.load and fastcgi.conf - start with nothing in fastcgi.conf
  • fastcgi.conf has handler directive: AddHandler fastcgi-script .fcgi - this is not needed for this example
  • add to a conf file: Use FastCGI in separate process on distinct host (local or remote)
FastCgiExternalServer /var/www/virtual-file.fcgi -host
Alias /cia-wiki/ /var/www/virtual-file.fcgi/

The directories must exist but the filename is arbitary1.

  • Start the fastcgi processes: -l :3001 -n 3 -p /home/hunter/ -d

This starts 3 fastcgi instances on port 3001, puts a process id in the file and puts fastcgi in daemon mode.

  • Kill fastcgi processes: kill -TERM first process. Use -p option when starting to specify pid file.

Make an init script

I have not tested it yet, but it appears an init script for starting FastCGI Catalyst app. can be created using Catalyst::Helper::FastCGI::ExternalServer. Another possibility for managing FastCGI processes is FCGI::Engine::Manager


A much more in-depth article about using external FastCGI server with Catalyst applications is available at "zzo's perl journal":

Foot Notes

Jasa SEO Jasa SEO Murah Jasa SEO Murah Jasa SEO Jasa Adwords Jasa Google Adwords Google Adwords Sepatu Online Toko Sepatu Online Sepatu Sepatu Murah Sepatu Safety Sepatu Futsal Cheapes Hostgator Coupon Link Booking Televisori offerte Notebook Offerte Berita Terkini Internet Marketer Muda Internet Marketer Indonesia Portatile Apple RDAnet Lorks Karikatur Bisnis Modal Kecil Bisnis UKM Berita Terbaru Iklan Baris Jasa SEO Jasa SEO Murah SEO Indonesia Konsultan SEO SEO Belajar SEO Kursus SEO Kursus SEO Murah Jam Tangan Casio Jam Tangan Casio Jam Tangan Murah Jam Tangan Grosir Baju Terbaru Grosir Baju Baju Terbaru Grosir Baju Murah Bisnis Online Belajar SEO Kerupuk Kerupuk kulit Social Bookmark Dofollow Social Bookmark Kumpulan Puisi Kirim Puisi Penumbuh Rambut Penumbuh Rambut timbangan WBC Wonogiri Jasa SEO Murah Jasa SEO Jam Tangan Murah Jam Tangan Murah Kata Gaul

Cupu Berita Terbaru Android Store Upinson Berita Terkini Edo Ziedo Aplikasi Symbian Sepatu Safety Upin Upin Tablet Android Sepatu Murah Upinson Blogger Radio Streaming SEO Star Upinson Cinta EDU Jasa SEO Sepatu Murah Sepatu Murah Sepatu Murah Penumbuh Rambut Penumbuh Rambut Penumbuh Rambut Penumbuh Rambut Penumbuh Rambut Penumbuh Rambut Penumbuh Rambut

  1. The absolute path must exist and be readable by the fastcgi process, but the filename at the end is virtual (just used for mapping of fastcgi process to the URI) so it can be anything. ↩

My tags:
Popular tags:
Powered by Catalyst