# WebServer
用C++实现的轻量级WEB服务器
## 功能
* 利用IO复用技术Epoll与线程池实现多线程的Reactor高并发模型;
* 利用正则与状态机解析HTTP请求报文,实现处理静态资源的请求;
* 利用标准库容器封装char,实现自动增长的缓冲区;
* 基于小根堆实现的定时器,关闭超时的非活动连接;
* 利用单例模式与阻塞队列实现异步的日志系统,记录服务器运行状态;
* 利用RAII机制实现了数据库连接池,减少数据库连接建立与关闭的开销,同时实现了用户注册登录功能。
* 添加守护进程启动方式
## 环境要求
* Linux
* C++14
* MySql
## 项目启动
需要先配置好对应的数据库
```bash
// 建立webserver库
create database webserver;
// 创建user表
USE webserver;
CREATE TABLE user(
username char(50) NULL,
password char(50) NULL
)ENGINE=InnoDB;
// 添加数据
INSERT INTO user(username, password) VALUES('name', 'password');
```
```bash
make clean;make
```-d 为守护进程开启选项,1打开,0关闭
./bin/server -d 1
```
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 1、该资源内项目代码都是经过测试运行成功,功能正常的情况下才上传的,请放心下载使用。 2、适用人群:主要针对计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、数学、电子信息等)的同学或企业员工下载使用,具有较高的学习借鉴价值。 3、不仅适合小白学习实战练习,也可作为大作业、课程设计、毕设项目、初期项目立项演示等,欢迎下载,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于Reactor模型+线程池的httpserver(源码+项目说明).zip (72个子文件)
code_30312
pool
sqlconnpool.h 715B
sqlconnRAII.h 503B
sqlconnpool.cpp 2KB
threadpool.h 2KB
.vscode
c_cpp_properties.json 375B
settings.json 2KB
resources
register.html 3KB
welcome.html 3KB
video.html 3KB
403.html 3KB
js
.DS_Store 6KB
bootstrap.min.js 36KB
jquery.magnific-popup.min.js 20KB
magnific-popup-options.js 1KB
smoothscroll.js 4KB
wow.min.js 7KB
custom.js 1KB
jquery.js 84KB
css
style.css 9KB
.DS_Store 6KB
bootstrap.min.css 118KB
magnific-popup.css 7KB
animate.css 71KB
font-awesome.min.css 27KB
login.html 3KB
404.html 3KB
picture.html 4KB
index.html 3KB
405.html 3KB
error.html 3KB
images
.DS_Store 6KB
instagram-image4.jpg 101KB
instagram-image5.jpg 48KB
instagram-image2.jpg 66KB
profile-image.jpg 46KB
instagram-image3.jpg 58KB
favicon.ico 60KB
instagram-image1.jpg 74KB
400.html 3KB
video
xxx.mp4 37.83MB
fonts
.DS_Store 6KB
FontAwesome.otf 107KB
fontawesome-webfont.eot 69KB
fontawesome-webfont.woff 82KB
fontawesome-webfont.woff2 65KB
fontawesome-webfont.svg 357KB
fontawesome-webfont.ttf 139KB
Makefile 362B
HttpServer
timer
heaptimer.cpp 3KB
heaptimer.h 1KB
main.cpp 589B
http
httprequest.h 2KB
httprequest.cpp 7KB
httpconn.h 1KB
httpresponse.h 1KB
httpconn.cpp 3KB
httpresponse.cpp 5KB
bin
server 37KB
server
epoller.cpp 1KB
webserver.h 1KB
epoller.h 581B
webserver.cpp 8KB
README.md 1KB
log
log.h 2KB
blockqueue.h 3KB
2022_03_18.log 60KB
log.cpp 4KB
2022_03_21.log 2KB
config
config.h 277B
config.cpp 2KB
buffer
buffer.cpp 3KB
buffer.h 1KB
共 72 条
- 1
资源评论
龙年行大运
- 粉丝: 1385
- 资源: 3960
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功