All Projects → fukamachi → Woo

fukamachi / Woo

Licence: mit
A fast non-blocking HTTP server on top of libev

Labels

Projects that are alternatives of or similar to Woo

Agoo
A High Performance HTTP Server for Ruby
Stars: ✭ 679 (-29.12%)
Mutual labels:  webserver
Webcpp
用C++开发web服务器框架
Stars: ✭ 23 (-97.6%)
Mutual labels:  webserver
Caprover
Scalable PaaS (automated Docker+nginx) - aka Heroku on Steroids
Stars: ✭ 7,964 (+731.32%)
Mutual labels:  webserver
Caddy Docker
Docker container for Caddy
Stars: ✭ 729 (-23.9%)
Mutual labels:  webserver
Bludit
Simple, Fast, Secure, Flat-File CMS
Stars: ✭ 824 (-13.99%)
Mutual labels:  webserver
B0pass
百灵快传:基于Go语言的高性能 "手机电脑超大文件传输神器"、"局域网共享文件服务器"。LAN large file transfer tool。
Stars: ✭ 836 (-12.73%)
Mutual labels:  webserver
Hunchentoot
Web server written in Common Lisp
Stars: ✭ 589 (-38.52%)
Mutual labels:  webserver
Coreprotect Lookup Web Interface
A flexible lookup web interface for CoreProtect 2
Stars: ✭ 29 (-96.97%)
Mutual labels:  webserver
Ansible Role Htpasswd
Ansible Role - htpasswd
Stars: ✭ 17 (-98.23%)
Mutual labels:  webserver
Esp8266 Wifi Relay
simple sketch of using ESP8266WebServer to switch relays on GPIO pins. It serves a simple website with toggle buttons for each relay
Stars: ✭ 13 (-98.64%)
Mutual labels:  webserver
Httperrorpages
⏩ Simple HTTP Error Page Generator
Stars: ✭ 772 (-19.42%)
Mutual labels:  webserver
Beetlex
high performance dotnet core socket tcp communication components, support TLS, HTTP, HTTPS, WebSocket, RPC, Redis protocols, custom protocols and 1M connections problem solution
Stars: ✭ 802 (-16.28%)
Mutual labels:  webserver
Serve
Serve is a small Rack-based web server and rapid prototyping framework for Web applications (specifically Rails apps). Serve is meant to be a lightweight version of the Views part of the Rails MVC. This makes Serve an ideal framework for prototyping Rails applications or creating simple websites. Serve has full support for Rails-style partials and layouts.
Stars: ✭ 844 (-11.9%)
Mutual labels:  webserver
Iodine
iodine - HTTP / WebSockets Server for Ruby with Pub/Sub support
Stars: ✭ 720 (-24.84%)
Mutual labels:  webserver
Treefrog Framework
TreeFrog Framework : High-speed C++ MVC Framework for Web Application
Stars: ✭ 885 (-7.62%)
Mutual labels:  webserver
Ansible Role Nginx
Ansible Role - Nginx
Stars: ✭ 632 (-34.03%)
Mutual labels:  webserver
Blink
A high performance web framework and application server in PHP.
Stars: ✭ 837 (-12.63%)
Mutual labels:  webserver
Immuni Backend Exposure Reporting
Repository for the Immuni's Exposure Reporting Service
Stars: ✭ 30 (-96.87%)
Mutual labels:  webserver
Multicorn
Multicorn is a multi-interpreter server for Python.
Stars: ✭ 27 (-97.18%)
Mutual labels:  webserver
Lib
single header libraries for C/C++
Stars: ✭ 866 (-9.6%)
Mutual labels:  webserver

Woo

Build Status

Woo is a fast non-blocking HTTP server built on top of libev. Although Woo is written in Common Lisp, it aims to be the fastest web server written in any programming language.

Warning

This software is still BETA quality.

How fast?

Benchmark graph

See benchmark.md for the detail.

Usage

Start a server

(ql:quickload :woo)

(woo:run
  (lambda (env)
    (declare (ignore env))
    '(200 (:content-type "text/plain") ("Hello, World"))))

Start with Clack

(ql:quickload :clack)

(clack:clackup
  (lambda (env)
    (declare (ignore env))
    '(200 (:content-type "text/plain") ("Hello, World")))
  :server :woo
  :use-default-middlewares nil)

Cluster

(woo:run
  (lambda (env)
    (declare (ignore env))
    '(200 (:content-type "text/plain") ("Hello, World")))
  :worker-num 4)

Signal handling

When the master process gets these signals, it kills worker processes and quits afterwards.

  • QUIT: graceful shutdown, waits for all requests are finished.
  • INT/TERM: shutdown immediately.

Benchmarks

See benchmark.md.

Installation

Woo has switched the backend from cl-async to libev after the latest Quicklisp dist release. If you're gonna run the benchmarks by your own, please use the latest one.

Requirements

  • UNIX (GNU Linux, Mac, *BSD)
  • SBCL
  • libev

Installing via Quicklisp

(ql:quickload :woo)

See Also

Author

Copyright

Copyright (c) 2014 Eitaro Fukamachi & contributors

License

Licensed under the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].