# Webserver **Repository Path**: peng20/WebServer ## Basic Information - **Project Name**: Webserver - **Description**: 基于Linux下的轻量级Web服务器 - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-03-16 - **Last Updated**: 2023-09-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Webserver #### 介绍 基于Linux下的轻量级Web服务器 1. 使用epoll多路复用高效处理IO事件,监听客户端连接请求和数据传输事件。 2. 采用主/从状态机对HTTP协议进行解析,支持GET和POST请求。 3. 使用Reactor高并发模型处理多个连接,使得服务器可同时处理多个客户端连接。 4. 使用基于链表的定时器容器关闭超时请求,解决超时连接占用系统资源问题。 5. 使用单例模式与RAII机制实现MySQL数据库连接池,避免频繁创建和断开数据库连接。 6. 设计实现了异步日志模块,采用单例模式和阻塞队列实现日志的异步写入。 7. 实现自动增长缓冲区,支持动态调整缓冲区大小以应对不同大小的请求。 #### 软件架构 ![输入图片说明](https://foruda.gitee.com/images/1693744024453528095/27120f60_12432163.png "I4J9KWXQ9)WQR[UWDLHW[$S.png")