Description: Cherokee is a flexible, very fast, lightweight Web server. It is implemented entirely in C, and has no dependencies beyond a standard C library. It is embeddable and extensible with plug-ins. It supports on-the-fly configuration by reading files or strings, TLS/SSL (via GNUTLS or OpenSSL), virtual hosts, authentication, cache friendly features, PHP, custom error management, and much more.
Keywords: cherokee web server httpd http

## Index → Other information

### Most common production server errors with Cherokee

- Page 500

      The most common cause of an Internal Server Error within Cherokee is
      problem of invalid headers. If your cgi script for some reason does
      not send out a headerless (eq. Content-type: text/html) streams, you
      will hit this bug. Check scripts, error log etc. to find out what
      causes it.

- Page 503

      When an information source is unavailable, the server will return a
      503 for that request. Cherokee will constantly try to find a new
      information sources, but it will take (as most) the total amount of
      defined sources in request to find back a working information
      source. If a 503 stays present, you can safely assume Cherokee is
      unable to start an interpreter or connect to the remote host that
      has the information source defined.

- Page 400

      If you are repeatedly receiving a 400 error while uploading files to
      a PHP backend, it could very well be related to PHP being the one
      restricting uploads bigger than a certain size. Check the [PHP
      recipe] for more details on how to fix this.

- CLI: Can’t bind() socket (port=80, UID=1000, GID=1000)

      Most likely Cherokee is unable to start because you are not
      root. And you want to bind the webserver to a privileged port (80).

- CLI: Can’t bind() socket (port=80, UID=0, GID=0)

      When you are root and get this message. There is a running Cherokee
      instance. The most efficient way to get rid of it:

        killall -s KILL cherokee
        killall -s KILL cherokee-worker

### Restarting

- If you just want to restart the webserver, this will do:

        killall -s HUP cherokee