c++服务器开源项目Tinywebserver运行

c++服务器开源项目Tinywebserver运行

Tinywebserver是github上一个十分优秀的开源项目,帮助初学者学习如何搭建一个服务器。

本文讲述如何在使用mysql跟该项目进行连接并将项目运行起来。

一、Tinywebserver介绍

Linux下C++轻量级Web服务器,助力初学者快速实践网络编程,搭建属于自己的服务器.

  • 使用 线程池 + 非阻塞socket + epoll(ET和LT均实现) + 事件处理(Reactor和Proactor均实现) 的并发模型
  • 使用状态机解析HTTP请求报文,支持解析GET和POST请求
  • 访问服务器数据库实现web端用户注册、登录功能,可以请求服务器图片和视频文件
  • 实现同步/异步日志系统,记录服务器运行状态
  • 经Webbench压力测试可以实现上万的并发连接数据交换

二、环境搭建

系统环境 : ubuntu 22.04 + mysql5.7.29

mysql安装教程详见Ubuntu22部署MySQL5.7详细教程

三、构建数据库

1、进入mysql

bash 复制代码
mysql -u root -p

2、建立你的数据库

根据readme写sql语句:创建 yourdb数据库,创建user表。

powershell 复制代码
	create database yourdb;
	USE yourdb;
    CREATE TABLE user(
        username char(50) NULL,
        passwd char(50) NULL
    )ENGINE=InnoDB;
    INSERT INTO user(username, passwd) VALUES('name', 'passwd');

四、编译Tinywebserver

1、修改配置

需要确认main.cpp里的数据库和你mysql数据库配置相同,如端口、ip等。

然后打开main.cpp修改对应配置。

2、编译运行Tinywebserver

在Tinywebserver项目文件中打开终端,运行命令编译项目。

bash 复制代码
sh ./build.sh

启动server

bash 复制代码
./server

五、查看效果

输入ip:9006就可以进行登录注册操作了,可以使用ifconfig查看ip地址。

参考资料:
c++ 经典服务器开源项目 Tinywebserver的使用与配置(百度智能云服务器安装ubuntu18.04可用公网ip访问)

相关推荐
顾温2 小时前
default——C#/C++
java·c++·c#
凉茶钱2 小时前
【c语言】动态内存管理:malloc,calloc,realloc,柔性数组
c语言·c++·vscode·柔性数组
脏脏a2 小时前
【C++模版】泛型编程:代码复用的终极利器
开发语言·c++·c++模版
island13142 小时前
【C++仿Muduo库#3】Server 服务器模块实现上
服务器·开发语言·c++
散峰而望2 小时前
【算法竞赛】C/C++ 的输入输出你真的玩会了吗?
c语言·开发语言·数据结构·c++·算法·github
小龙报2 小时前
【C语言】内存里的 “数字变形记”:整数三码、大小端与浮点数存储真相
c语言·开发语言·c++·创业创新·学习方法·visual studio
刃神太酷啦2 小时前
扒透 STL 底层!map/set 如何封装红黑树?迭代器逻辑 + 键值限制全手撕----《Hello C++ Wrold!》(23)--(C/C++)
java·c语言·javascript·数据结构·c++·算法·leetcode
2301_789015622 小时前
C++:继承
c语言·开发语言·c++
星河耀银海2 小时前
C++ 运算符重载:自定义类型的运算扩展
android·java·c++
feng_blog66882 小时前
C++线程池|解决死锁、崩溃、丢任务所有痛点
java·开发语言·c++