A fast synchronous web server.
C++ C Python Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
core
data
doc
http
modules
scripts
test
utils
.gitignore
LICENSE
README.rst
SConscript
SConstruct
pch.h

README.rst

Tube Web Server

A scalable synchronous server using pipeline architecture. The pipeline architecture resemble the design of Glassfish Application Server.

Tube Web Server aims to be a scalable, flexible, extensible Web Server. It was designed to make developers writing web logic within the Web Server as easy as possible, and at the same time, reaching fair performance and scalability.

Platform Support

Currently, Tube Web Server is under heavy developments. The primary platform to support is Linux 2.6. FreeBSD 6+ and Solaris 10+ are also supported, but under heavy developments currently.

Build

The Tube Web Server is written in C/C++. To build Tube Web Server, you'll need the following tools and libraries installed.

To Build Tube, simply run

% scons

If you want the release version (which doesn't have log and debug symbol)

% scons release=1

After building process succeeded, run the following to install

# scons install

If you want to install in a sandbox directory (or DESTDIR in automake terminology), use

% scons install --install-sandbox=<dir>

Usage

After installation, you should be able to use tube-server. Make sure that tube-server is in your PATH and libtube.so and libtube-web.so are able to load by system.

tube-server -c config_file [ -m module_path -u uid]
  • config_file is the configuration file. This is required.
  • module_path is the path containing all the modules. This is optional.
  • uid is the uid if you want tube switch uid before launch. This is optional

There's a sample config file in test/test-conf.yaml.

License

MIT License. See License file for details.

Author

Mike Qin <mikeandmore AT gmail.com>