Yotta is basic http file server. It serves my personal blog dollberg.xyz.
It's main purpose is though to build an epoll based event loop with all kinds of gimmicks. In addition, it's a performant file server that doesn't need 50 lines of config.
Current HTTP Features:
- (Essential) Range Support
- Edge triggered
- Connections loadbalanced via
REUSEPORTto worker processes
- Timers via
- Files are served directly via
- Zero down time upgrades (same principle as nginx)
CMake is being use as a build system.
mkdir build cd build cmake ../src make
Will build you the
Run the binary in the directory you want to serve, you shall pass the address and port to listen on:
yotta -h :: -p 10000
To listen on all interfaces and port
yotta.unit for usage of the pid file (
-i) option, daemonizing (
-g) option and how to upgrade.
There are a couple of unit tests which can be run via
make test in the build folder in addition to integration tests in