# TinyWebServer **Repository Path**: zoupp/TinyWebServer ## Basic Information - **Project Name**: TinyWebServer - **Description**: 丨原仓库:https://github.com/qinguoyi/TinyWebServer 丨泰森云加速:www.tyson.cool 丨Linux 下的 C++ 轻量级 Web 服务器。该项目不仅可以用来搭建 Web 服务,也适合 C++ 初学者作为网络编程实战项目。作者还写了文章讲解相关代码和原理,帮助初学者更好的掌握网络编程相关知识 - **Primary Language**: C++ - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://ddl.ink/dl/ - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2022-05-04 - **Last Updated**: 2022-05-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README TinyWebServer =============== Linux下C++轻量级Web服务器,助力初学者快速实践网络编程,搭建属于自己的服务器. * 使用 **线程池 + 非阻塞socket + epoll(ET和LT均实现) + 事件处理(Reactor和模拟Proactor均实现)** 的并发模型 * 使用**状态机**解析HTTP请求报文,支持解析**GET和POST**请求 * 访问服务器数据库实现web端用户**注册、登录**功能,可以请求服务器**图片和视频文件** * 实现**同步/异步日志系统**,记录服务器运行状态 * 经Webbench压力测试可以实现**上万的并发连接**数据交换 写在前面 ---- * 本项目开发维护过程中,很多童鞋曾发红包支持,我都一一谢绝。我现在不会,将来也不会将本项目包装成任何课程售卖,更不会开通任何支持通道。 * 目前网络上有人或对本项目,或对游双大佬的项目包装成课程售卖。请各位童鞋擦亮眼,辨识各大学习/求职网站的C++服务器项目,不要盲目付费。 * 有面试官大佬通过项目信息在公司内找到我,发现很多童鞋简历上都用了这个项目。但,在面试过程中发现`很多童鞋通过本项目入门了,但是对于一些东西还是属于知其然不知其所以然的状态,需要加强下基础知识的学习`,推荐认真阅读下 * 《unix环境高级编程》 * 《unix网络编程》 * 感谢各位大佬,各位朋友,各位童鞋的认可和支持。如果本项目能带你入门,将是我莫大的荣幸。 目录 ----- | [概述](#概述) | [框架](#框架) | [Demo演示](#Demo演示) | [压力测试](#压力测试) |[更新日志](#更新日志) |[源码下载](#源码下载) | [快速运行](#快速运行) | [个性化运行](#个性化运行) | [庖丁解牛](#庖丁解牛) | [CPP11实现](#CPP11实现) |[致谢](#致谢) | |:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:| 概述 ---------- > * C/C++ > * B/S模型 > * [线程同步机制包装类](https://github.com/qinguoyi/TinyWebServer/tree/master/lock) > * [http连接请求处理类](https://github.com/qinguoyi/TinyWebServer/tree/master/http) > * [半同步/半反应堆线程池](https://github.com/qinguoyi/TinyWebServer/tree/master/threadpool) > * [定时器处理非活动连接](https://github.com/qinguoyi/TinyWebServer/tree/master/timer) > * [同步/异步日志系统 ](https://github.com/qinguoyi/TinyWebServer/tree/master/log) > * [数据库连接池](https://github.com/qinguoyi/TinyWebServer/tree/master/CGImysql) > * [同步线程注册和登录校验](https://github.com/qinguoyi/TinyWebServer/tree/master/CGImysql) > * [简易服务器压力测试](https://github.com/qinguoyi/TinyWebServer/tree/master/test_presure) 框架 -------------