Monkey is a small, fast and lightweight open source Web Server for GNU/Linux. It has been designed with focus in embedded devices, therefore its scalable by nature having a low memory and CPU consumption and an excellent performance.
Monkey is properly supported on ARM, x86 and x64, being able to work in any architecture and device capable to run a Linux Kernel.
Monkey uses an hybrid mechanism composed by a fixed number of threads being each one capable to attend thousands of clients thanks to the event-driven model based in asyncrhonous sockets.
The interaction between the scheduler and each worker thread is lock free, avoiding race conditions and exposing a huge performance compared to other available options. It also takes the most of the Linux Kernel to optimize the work using specific system calls based on zero-copy strategy.
A good and flexible architecture is one of our goals. Monkey have been designed to keep most of the HTTP functionalities in the core and make it extensible through external plugins. Its core is small, depending of the compiler version used, the binary size could be around 60KB and 300KB in runtime. The current plugins are distributed with the sources:
Write a portable piece of software involves to dedicate extra time and focus on each platform features and problems. Linux is a fast and stable operative system which provides specific and unique system calls to improve the performance of high demand server softwares, so Monkey development is focused in Linux Kernel to take the most of it specific features. Monkey only requires Linux >= 2.6.29.
Monkey have demostrated consume less memory and CPU than other web servers available, as well have a better performance due to it design. More information will be shared soon.
Monkey is build by volunteers around the world and getting an extra support from OSUOSL.
Monkey HTTP Daemon is licensed under the GNU Library General Public License v2 (LGPLv2).
In brief: This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License v2 as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
Some additional exceptions:
Our Monkey Logo is under the Creative Commons License, you are just allowed to use it to promote Monkey HTTP Daemon project
without any commercial purpose. FLOSS communities looking for merchandising can write us to require special permissions.
Monkey HTTP Daemon Logo by Eduardo Silva is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License