/epoll-prefork

Static server using pre-fork and epoll

Primary LanguageC

Static server in C using pre-fork and epoll

This is a simple static server implemented in C using the pre-fork model for handling multiple connections and epoll for event-driven I/O.

Features

  • Pre-fork model for handling multiple connections efficiently
  • Epoll for multiplexing
  • Serve static files to clients
  • GET and HEAD requests
  • Available extensions: .html, .css, .js, .png, .jpg, .jpeg, .swf, .gif
  • Large files are also supported
  • Self-written logger is used

Installation

  1. Clone the repository: git clone https://github.com/pauuser/epoll-prefork.git
  2. Go to src folder and build the project: make
  3. Run the server: ./server

Documentation

The documentation for this project can be found in the doc directory. It includes information about the design, implementation, and usage of the static server. Documentation is written in Russian following ГОСТ 7.32-2017 and ГОСТ 7.0.100-2018 standards using LaTeX.

PDF version can be found here.