项目简介
WebKish是运行于Linux系统的高性能多线程并发服务器框架,基于现代C++11标准开发。采用面向对象设计,每个连接对应一个处理器管理文件描述符生命周期。既可用作TCP服务器,也可用作HTTP服务器,核心功能基于Linux的epoll系统调用,支持异步日志系统和完善的HTTP报文解析。
项目的主要特性和功能
- 高性能并发:基于epoll系统调用,支持高并发处理,CPU占用率低。
- 异步日志系统:完善的异步日志系统,支持高效日志写入。
- HTTP服务器:支持HTTP请求解析和响应,内置HTTP报文解析器。
- 多线程支持:封装了Linux的pthread库,实现简单版本的线程池。
- 文件解析器:支持静态文件解析和接口请求处理。
- 数据库支持:包含对MySQL的API封装,支持数据库连接池。
安装使用步骤
1. 安装依赖库
确保系统中已安装MySQL的API库(如mariadb库)和pthread库。以Fedora为例:
bash
sudo yum install -y community-mysql
sudo yum install -y community-mysql-server
sudo yum install -y mysql-devel
2. 下载并安装WebKish
bash
cd WebKish
git checkout 0.0.1
mv build-release/install.kish build-release/CMakeLists.txt build-release/webkish.pc.in .
sudo bash install.kish
3. 接入开发
如果你是cmake工程,使用target_link_libraries
链接以下动态库:
cmake
target_link_libraries(your_project libkish.so libksql.so libthird_pt.so)
4. 创建HTTP服务器
包含kish/http_server.h
和kish/http_interface.h
头文件,实现请求接口。例如:
```c++
include "kish/http_server.h"
include "kish/http_interface.h"
int main() { KISH_CONFIG.setKishServerName("example_webserver"); reg_http_resolver(http_resol_ptr(new example_files_resolver("/home/parallels/webserver/static_docs"))); reg_http_interface(http_intc_ptr(new example_users_interface)); kish::http_server hs(7777, 8); hs.startup(); } ```
5. 运行服务器
编译并运行你的项目,服务器将监听在端口7777上,处理来自客户端的请求。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】