Cherokee Webserver Logo

Cherokee Webserver Logo

After seeing some of the performance graphs on Alvaro’s blog, I decided to give Cherokee a shot with a project I am working on. The project I am working on has a web browser on kiosk machines, and runs Django on the backend. I was in need of a fast, secure web server. I have always used Apache in the past, and have used Nginx, so I figured I should investigate Cherokee.

Enter the Cherokee Web Server
Cherokee has performed great as an embedded webserver which serves my django project. It takes about 12Mb of ram, and deals with multiple simultaneous requests near instantly. This allows me to add features using Jquery that I would usually be afraid to bog down the system with. You can check out the home page at: http://www.cherokee-project.com

Configuration
One of the best features is the web based configuration utility. This utility allows everything to be administered from a web GUI instead of the normal command line editing.

Cherokee Admin Screenshot

Cherokee Admin Screenshot

The best part about this is, the file it outputs is also easy to tweak from the command line. The syntax is very terse, which makes configuration file management a breeze. I take my configuration file, and put it inside my project repository, using the Bazaar Version Control System. This way I can keep track of the configurations and changes to them with ease.

The Cherokee admin also appears to be using Python, which I like since if I find a bug, I can much more readily diagnose it as the custom software I am developing is also in Python.

Performance
Performance wise the pages load in what is perceived to be instantly. My webservers are celeron boxes, with 1 gig of ram, running the Gnome Desktop Environment. These machines have most of their resources consumed already, so the performance I get is a testament to the carefully thought out design of Cherokee to have minimal overhead.

Documentation
The Cherokee cookbook is fantastic for setting up a new webserver. The documentation can be found at: http://www.cherokee-project.com/doc/. You can find everything from using Django, load balancing, using mono / asp, to setting up a blog. These recipes are very handy and easily understood.

If you have a new project, or even an old website, it is definitely worth giving Cherokee a look. The Cherokee Project also provides packages for all major distributions, so you can download the .deb or .rpm at their website.

Related posts:

  1. The Cherokee Webserver: Great choice for VPS's
  2. Python Commands Module
  3. Migrated to a VPS
  4. Cherokee / Django tip: Timeout value
  5. Finding the difference between two files