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.
Most common production server errors with Cherokee
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.
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
If you just want to restart the webserver, this will do:
killall -s HUP cherokee