快速开始
小于 1 分钟
项目结构
Narcissus
├─CMakeLists.txt
├─config.json
├─start.sh
├─src
| ├─config.cpp
| ├─config.h
| ├─main.cpp
| ├─webserver.cpp
| ├─webserver.h
| ├─timer
| | ├─Utils.cpp
| | ├─Utils.h
| | ├─util_timer.h
| | ├─set
| | | ├─set_timer.cpp
| | | └set_timer.h
| | ├─heap
| | | ├─heap_timer.cpp
| | | └heap_timer.h
| ├─threadpool
| | └threadpool.h
| ├─mysql
| | ├─sql_connection_pool.cpp
| | └sql_connection_pool.h
| ├─log
| | ├─log.cpp
| | └log.h
| ├─lock
| | ├─block_queue.h
| | └locker.h
| ├─http
| | ├─http_conn.cpp
| | └http_conn.h
快速运行
环境
- 服务器测试环境
- Ubuntu版本20.04
- MySQL版本8.0.31
- gcc版本9.4.0
- cmake版本3.16.3
- 浏览器测试环境
- Chrome
- FireFox
依赖安装
- mysqlclient
- jsoncpp
sudo apt-get install libmysqlclient-dev
sudo apt-get install libjsoncpp-dev
运行前的准备
- 创建数据库
// 建立yourdb库
create database yourdb;
// 创建user表
USE yourdb;
CREATE TABLE user(
username char(50) NULL,
passwd char(50) NULL
)ENGINE=InnoDB;
// 添加数据
INSERT INTO user(username, passwd) VALUES('name', 'passwd');
- 修改配置文件config.json,修改相关配置
{
"config": {
"port": 9000,
"log_write": false,
"trig_mode": false,
"listen_trig_mode": false,
"conn_trig_mode": false,
"opt_linger": false,
"sql_num": 8,
"thread_num": 8,
"close_log": false,
"mysql": {
"url": "localhost",
"port": 3306,
"username": "test",
"password": "test",
"database": "test"
},
"timer_mode": 0
}
}
编译
./start.sh
运行
cd ./build
./Narcissus
使用
在build文件夹下创建root文件夹,将静态资源放入root文件夹下,即可通过浏览器访问localhost:9000