Webserver — Nginx like HTTP Server
A high-performance, non-blocking HTTP server built in C++98 inspired by Nginx. Uses epoll() for I/O multiplexing and supports CGI, file uploads, and RFC-compliant request handling.

Overview
Building a production-grade web server from scratch reveals what modern frameworks abstract away: connection handling, request parsing, protocol compliance, and maintaining performance under concurrent load. Inspired by Nginx, this project implements a scalable architecture using epoll to efficiently manage thousands of simultaneous client connections.
Architecture & capabilities
Developed in C++98, the server is built on non-blocking sockets combined with a multiplexed event loop for high-performance I/O. It supports core HTTP methods (GET, POST, DELETE), a flexible configuration system inspired by Nginx (routes, ports, error pages), and CGI execution for dynamic content (PHP, Python). Additional features include secure file uploads and strict request validation against HTTP standards.
What we learned
This project provided deep insight into how web servers operate internally: managing concurrent connections, handling HTTP protocol details, and optimizing performance with event-driven architectures. It strengthened our skills in low-level network programming, socket management, and debugging complex systems, while highlighting the trade-offs between performance, scalability, and code complexity.
Key features & competencies
- Event-driven design with epoll for thousands of concurrent connections
- RFC-oriented HTTP parsing and response generation
- CGI path for dynamic content execution and extensibility
- Nginx-inspired configuration with virtual hosts and route matching
Want to build something similar?
I’m open to collaborating on web applications, automation systems, or performance-focused websites.