项目简介
本项目是一个基于epoll开发的高并发Web服务器,使用C++编写。采用一个master进程和多个worker进程的架构,由worker进程负责接受连接和处理请求。目前已完成静态页面GET方法的处理,性能接近Nginx的70% - 80%。主要目的是帮助C++开发者学习和实践网络编程,尤其是高并发服务器的设计与实现。
项目的主要特性和功能
- 高并发处理:基于epoll实现,支持多进程模型,具备高并发处理能力。
- 静态页面处理:支持HTTP GET方法,可处理静态页面请求。
- HTTP keep - alive:支持HTTP长连接,减少连接建立开销。
- 浏览器缓存:支持304 Not Modified状态码,优化浏览器缓存。
- 定时器管理:基于C++ STL的最小堆实现定时器,支持回调函数。
- 非阻塞IO:采用非阻塞IO模型,提高IO操作效率。
安装使用步骤
环境要求
- 操作系统:CentOS 7
- 编译器:g++ 4.8.5及以上
- 调试工具:gdb
- 构建工具:cmake 3.13及以上
安装步骤
- 安装cmake:若系统未安装cmake或版本较低,前往cmake官网下载并安装。
- 复制项目:
bash cd plusplusi
- 编译项目:
bash mkdir build && cd build cmake .. && make
- 运行服务器:
bash ./plusplusi
请确保在build目录下运行,因为配置文件等基于相对路径。
配置调整
运行前,建议修改conf/plusplusi.conf
中的worker数目,使其与CPU核数一致,以避免不必要的进程上下文切换开销。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】