C CMake Python C++ Roff JavaScript Other
Permalink
Failed to load latest commit information.
api fuzz: cleanup unused vars Apr 10, 2018
build Build: CMake: add definitions and support for Jemalloc as external de… Apr 3, 2015
cmake Arduino YUN: add toolchain file Nov 26, 2015
conf Build: new --pidpath option and fixes for --systemddir (ref #215) Nov 26, 2015
debian Debian: force TLS plugin to be build in static mode Nov 26, 2015
deps lib: libco: always build with LIBCO_MP flag (for multithread callers) Apr 23, 2018
examples Libmonkey: Fix 'content_len' field in python examples Aug 7, 2014
fuzz fuzz: mk_check: cleanup service code Apr 16, 2018
htdocs HTML: intro update Aug 5, 2015
include server: scheduler: register mk_sched_threads_destroy_all() Apr 10, 2018
man Build: fix missing installation of man pages (ref #215) Nov 26, 2015
mk_bin bin: make gcc happy Feb 19, 2018
mk_core core: rconf: support wild card to include conf files Apr 21, 2018
mk_server server: scheduler: mark unused variable Apr 16, 2018
plugins tls: fix copyright Oct 5, 2017
qa QA: add test for PUT method, validate 405 status error Nov 26, 2015
.gitignore Source: split code into new directories: mk_bin, mk_server & mk_core Jun 7, 2015
.travis.yml CI: travis: update rules Jan 16, 2017
ARDUINO_YUN.md Arduino YUN: add instructions Nov 26, 2015
CMakeLists.txt fuzz: new fuzz test tools (honggfuzz) Apr 10, 2018
CONTRIBUTING.md Doc: update Contributing file (lines length) May 19, 2014
ChangeLog Release: Monkey HTTP Server v1.6.0 Aug 9, 2015
ChangeLog.old Changelog update Jun 12, 2010
FUZZ.md doc: add Fuzzing instructions Apr 16, 2018
INSTALL Doc: update INSTALL May 9, 2014
LICENSE License: core and plugins are now under the Apache License v2.0 May 9, 2014
Makefile Build: CMake: improve config files decls and fix static linking Apr 6, 2015
NOTICE License: core and plugins are now under the Apache License v2.0 May 9, 2014
README.md mk_bin: mk_server: move signals interfaces and cleanup executable calls Jun 10, 2015
configure Build: new --pidpath option and fixes for --systemddir (ref #215) Nov 26, 2015
debian.sh Debian: add debian build script Oct 12, 2011
monkey.pc.in monkey: Update README and add a pkg-config file Jul 27, 2012
monkey.spec Fix date in changelog of spec file Jun 22, 2014

README.md

Monkey Server

Monkey is a fast and lightweight Web Server for Linux. It has been designed to be very scalable with low memory and CPU consumption, the perfect solution for Embedded Linux and high end production environments.

Besides the common features as HTTP server, it expose a flexible C API which aims to behave as a fully HTTP development framework, so it can be extended as desired through the plugins interface.

For more details please refer to the official documentation.

Features

  • HTTP/1.1 Compliant
  • Hybrid Networking Model: Asynchronous mode + fixed Threads
  • Indented configuration style
  • Versatile plugin subsystem / API
  • x86, x86_64 & ARM compatible
  • More features:
    • SSL
    • IPv6
    • Basic Auth
    • Log writer
    • Security
    • Directory Listing
    • CGI
    • FastCGI
    • Much more!
  • Embeddable as a shared library

Requirements

When building Monkey it needs:

  • CMake >= 2.8
  • Glibc >= 2.5
  • GNU C Compiler >= 3.2

Monkey requires the following components on runtime:

  • Linux Kernel >= 2.6.32
  • Pthreads support

Writing Scalable Web Services

If you are interested into use Monkey as a base platform build scalable web services, we recommend you check our Duda I/O project made for that purpose.

Join us!

Monkey is an open organization so we want to hear about you, we continue growing and you can be part of it!, you can reach us at:

If you want to get involved, please also refer to our Contributing guidelines.

Author

Eduardo Silva eduardo@monkey.io