Cherokee is an open-source
cross-platform
In computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several computing platforms. Some cross-platform software ...
web server
A web server is computer software and underlying hardware that accepts requests via HTTP (the network protocol created to distribute web content) or its secure variant HTTPS. A user agent, commonly a web browser or web crawler, initi ...
that runs on
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
,
BSD variants,
Solaris, , and
Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
. It is a lightweight, high-performance
web server
A web server is computer software and underlying hardware that accepts requests via HTTP (the network protocol created to distribute web content) or its secure variant HTTPS. A user agent, commonly a web browser or web crawler, initi ...
/
reverse proxy
In computer networks, a reverse proxy is the application that sits in front of back-end applications and forwards client (e.g. browser) requests to those applications. Reverse proxies help increase scalability, performance, resilience and securi ...
licensed under the
GNU General Public License
The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end user
In product development, an end user (sometimes end-user) is a person who ultimately uses or is intended to ulti ...
. Its goal is to be fast and fully functional yet still light. Major features of Cherokee include a graphical administration interface named ''cherokee-admin'', and a modular light-weight design.
Independent tests have shown Cherokee to be better performing than
Apache when serving up both static and dynamic content.
Cherokee is maintained and developed by an
open source community.
Features
Web server features
*
TLS and SSL
*
Virtual servers
*
URL rewriting and redirections supporting
regular expressions
A regular expression (shortened as regex or regexp; sometimes referred to as rational expression) is a sequence of characters that specifies a search pattern in text. Usually such patterns are used by string-searching algorithms for "find" o ...
*
Authentication
Authentication (from ''authentikos'', "real, genuine", from αὐθέντης ''authentes'', "author") is the act of proving an assertion, such as the identity of a computer system user. In contrast with identification, the act of indicat ...
via htdigest,
htpasswd,
LDAP
The Lightweight Directory Access Protocol (LDAP ) is an open, vendor-neutral, industry standard application protocol for accessing and maintaining distributed directory information services over an Internet Protocol (IP) network. Directory serv ...
,
MySQL
MySQL () is an open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A relational database ...
,
PAM, plain, and fixed list.
*
Reverse HTTP proxy
* HTTP
load balancing
*
Traffic shaping
Traffic shaping is a bandwidth management technique used on computer networks which delays some or all datagrams to bring them into compliance with a desired ''traffic profile''. Traffic shaping is used to optimize or guarantee performance, imp ...
* Custom and
Apache compatible log format.
* Ability to
launch web applications on demand
*
Audio/video streaming
* On the fly
gzip
gzip is a file format and a software application used for file compression and decompression. The program was created by Jean-loup Gailly and Mark Adler as a free software replacement for the compress program used in early Unix systems, and ...
and
deflate compressions
* Resilient to the
10000 simultaneous connections barrier
*
Server Side Includes (SSI)
*
CGI
*
FastCGI
*
SCGI
* uWSGI support
*
chroot
support
*
RRDtool
RRDtool (''round-robin database tool'') aims to handle time series data such as network bandwidth, temperatures or CPU load. The data is stored in a circular buffer based database, thus the system storage footprint remains constant over time. ...
statistics
* Database bridging and
shardingDBSlayer-like
* Graphical configuration interface
* Point & click deployments through an application market
Web applications
Configuration
wizards are provided to automatically configure the web server to perform specific tasks, or run frameworks and applications. These provide support for:
PHP
PHP is a General-purpose programming language, general-purpose scripting language geared toward web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementati ...
through
FastCGI,
Ruby on Rails
Ruby on Rails (simplified as Rails) is a server-side web application framework written in Ruby under the MIT License. Rails is a model–view–controller (MVC) framework, providing default structures for a database, a web service, and web ...
,
ColdFusion
Adobe ColdFusion is a commercial rapid web-application development computing platform created by J. J. Allaire in 1995. (The programming language used with that platform is also commonly called ColdFusion, though is more accurately known as ...
,
GlassFish
GlassFish is an open-source Jakarta EE platform application server project started by Sun Microsystems, then sponsored by Oracle Corporation, and now living at the Eclipse Foundation and supported by Payara, Oracle and Red Hat. The supported ...
,
Django,
Alfresco,
GNU Mailman,
.NET with
Mono,
rTorrent,
Symfony, and
Zend Engine, plus generic
Video Streaming
Video on demand (VOD) is a media distribution system that allows users to access videos without a traditional video playback device and the constraints of a typical static broadcasting schedule. In the 20th century, broadcasting in the form of ...
and
uWSGI.
Devices running Cherokee
During the last few years Cherokee has been adopted by numerous electronic device makes and IoT technology manufacturers. Some examples include
GoPro
GoPro, Inc. (marketed as GoPro and sometimes stylized as GoPRO) is an American technology company founded in 2002 by Nick Woodman. It manufactures action cameras and develops its own mobile apps and video-editing software. Founded as Woodman ...
action cameras and drones,
Xiaomi
Corporation (; ), commonly known as Xiaomi and registered as Xiaomi Inc., is a Chinese designer and manufacturer of consumer electronics and related software, home appliances, and household items. Behind Samsung, it is the second largest m ...
action cameras,
Digi International's
Internet of things
The Internet of things (IoT) describes physical objects (or groups of such objects) with sensors, processing ability, software and other technologies that connect and exchange data with other devices and systems over the Internet or other com ...
kits,
ATN Corporation
ATN is the Sydney Flagship (broadcasting), flagship television station of the Seven Network in Australia. The licence, issued to a company named Amalgamated Television Services, a subsidiary of Fairfax Media, John Fairfax & Sons, was one of the ...
's high-end rifle scopes, Defender's security cameras,
etc. Since Cherokee is Open Source Software and does not require manufacturers to license the code, there is no way to know how many companies are embedding Cherokee in their products.
See also
*
Comparison of web servers
*
Traffic Server
*
Web accelerator
A web accelerator is a proxy server that reduces website access time. They can be a self-contained hardware appliance or installable software.
Web accelerators may be installed on the client computer or mobile device, on ISP servers, on the ser ...
which discusses host-based HTTP acceleration
*
Proxy server
In computer networking, a proxy server is a server application that acts as an intermediary between a client requesting a resource and the server providing that resource.
Instead of connecting directly to a server that can fulfill a requ ...
which discusses client-side proxies
*
Reverse proxy
In computer networks, a reverse proxy is the application that sits in front of back-end applications and forwards client (e.g. browser) requests to those applications. Reverse proxies help increase scalability, performance, resilience and securi ...
which discusses origin-side proxies
References
External links
*
Documentation*
Book on Cherokee
{{Web server software
Web server software
Free web server software
Web server software for Linux
Free software programmed in C