Skip to content

haoht/TinyWeb

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


TinyWeb is a high-performance web server which is based on C++11.

  • TinyWeb utilizes what's called an event-driven programming model.
  • The implementation method is epoll+no-blocking I/O.
  • The gobals of this application are high-performance,stability,simple configuration, and low resource consumption.
  • Module design is a efficient approach to design this system.

Quick Start

Get Code

git clone https://github.com/GeneralSandman/TinyWeb

Install

cd TinyWeb/src
make
make clean

Configure

sudo cp TinyWeb.conf /
vim /TinyWeb.conf

Each line is a comment line which begin with #.

name meaning
Basic-configure
listen listen-port
processpoll number of process
Docs path of html
HostName the host of web
Log-configure
LogLevel log level
LogPath log path
DebugFile Debug level file
InfoFile Info level file
WarnFile Warn level file
ErrorFile Error level file
FatalFile Fatal level file

Start Server

  • Start server with default file /TinyWeb.conf.You need to create this file if it does not exist otherwise server return error and exit.
sudo ./TinyWeb
  • A configure file will be appointed when using -c <file>.
sudo ./TinyWeb -c /home/li/TinyWeb.conf
  • Start server with Debug level and ignore the level of configure file.(Server is under terminal's control because It is not a daemon process)
sudo ./TinyWeb -d -c /home/li/TinyWeb.conf

Reference:

1.Advanced Programming in the Unix Environment

2.UNIX Network Programming

3.C++ Primer

5.Linux 多线程服务端编程:使用 muduo C++ 网络库

6.C++ Reference

7.高性能服务器编程

About

A high-performance web server in C++11.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 77.6%
  • JavaScript 9.3%
  • HTML 8.5%
  • CSS 1.7%
  • Makefile 1.5%
  • Python 1.1%
  • Other 0.3%