Standalone HTTP servers

zby edited this page Oct 1, 2010 · 5 revisions


Powerful, fast and configurable preforking HTTP server. Inspired by Ruby's Unicorn web server. Supports HTTP/1.1 and has lots of configuration options.

  • Based on Catalyst::Engine::HTTP::Prefork by Andy Grundman
  • Ported to Plack by Tatsuhiko Miyagawa
  • Uses Net::Server::PreFork
  • Supports HTTP/1.1
  • Pipelined requests
  • Chunked request/response
  • Keep-Alives
  • Graceful restart with HUP (No shutdown with QUIT yet)
  • Server::Starter support
  • No Win32 support
  • Supports binding multiple interfaces
  • UNIX Domain socket
  • Dynamic worker configuration with TTIN/TTOU
  • Spare servers (optional)
  • Specifying backlog size (optional)
  • Delay loading apps by default, preloading optional
  • PID file and daemonize support


Lightweight and fast standalone HTTP server. Best used behind frontend proxy (such as nginx or lighttpd) with Server::Starter superdaemon.

  • Written by Kazuho Oku
  • Uses Parallel::Prefork
  • Supports HTTP/1.0
  • Keep-Alives
  • Graceful restart (with Server::Starter)
  • Graceful shutdown (Parallel::Prefork)
  • Server::Starter support
  • Win32 support
  • Preloading apps by default


PSGI compatible standalone HTTP server with minimum dependencies.

  • Written by Tatsuhiko Miyagawa
  • Uses HTTP::Server::Simple which has no non-core module dependencies
  • Has no dependency on Plack. Supports perl back to 5.6
  • Best to be used in the embedded systems such as Android
  • Single process, no fork support