I’ve typically been pretty conservative when choosing a web server. Typically, I’ll use Apache to run most sites, and possibly Lighttpd for static files. Experimenting never really has been something done with a web server once I’m past the initial setup.
I’m willing to change that, however, especially after seeing the Cherokee web server in action. At first glance it seems to just be another lightweight web server, and in the end, it is.
The Cherokee website has its own benchmarks against Apache, Lighttpd, and Nginx, with Cherokee coming out on top in terms of the most requests. They are fairly comprehensive, though if you’re not one to trust benchmarks these may not seem any different from those conducted by others.
The one sole feature that could really give Cherokee a solid place in the server market is its method of administration. Most free software server solutions typically offer plenty of organized configuration files to tune and edit at your leisure. If you really have the desire to do so, Cherokee won’t prevent you from directly editing its own configuration. However, there is something much better:
The entire server can be managed using cherokee-admin, the web interface you see above. In fact, it’s highly recommended to manage the server using this administration interface. Your first thoughts may include security issues of a web-managed server, but many of those are dissolved quickly: cherokee-admin must be run in a console, and then a one-time-use password is generated for the administration interface. When you are done, stop cherokee-admin, and everything is safely closed away once more.
The administration interface alone may be responsible for converting many websites to Cherokee. Any entry barrier that may have existed from editing config files might nearly disappear: right after installation, all you must do is fire up cherokee-admin and begin configuring your new web server.
There are a lot of other cool gems included as well. A panic script can be invoked should Cherokee crash, alerting the administrator immediately. It natively supports fcgi and FastCGI, and includes a default rule to help set up PHP in a few moments. Even things such as switching users, accomplished by compiling suexec in Apache, are only a text entry away in Cherokee.
Version 0.99.9 was recently released, so 1.0 can’t be too far around the corner. If you’re looking to find a server that doesn’t need to be manually configured, or just want something speedy, Cherokee is definitely the path to take.