C++入门项目:Linux下C++轻量级Web服务器 跑通|运行|测试(小白进)

TinyWebServer是一个开源的项目,适合小白入门C++网络编程,注意该项目是在linux系统下。

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

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

 本文参照README(TinyWebServer::fire: Linux下C++轻量级WebServer服务器 - GitCode)、网上博文(c++ 经典服务器开源项目 Tinywebserver的使用与配置(百度智能云服务器安装ubuntu18.04可用公网ip访问)-CSDN博客WebServer 跑通/运行/测试(详解版)_webserver测试-CSDN博客),结合自己的实现过程,进行详细的梳理,适合小白看。

1、 配置环境

检查是否有git,还有g++编译器 

 git --version

 g++ --version

 2、克隆源码

 先给出clone命令,下面讲怎么clone

sudo git clone https://gitcode.com/gh_mirrors/ti/TinyWebServer.git 

 ​​ 在克隆的时候输入要clone项目的连接,连接在官网上找 我用的是镜像地址

下面的地址是GitHub官网

链接:GitHub - qinguoyi/TinyWebServer: :fire: Linux下C++轻量级WebServer服务器 

进入项目主页,点击clone -> 复制链接 ->粘贴到控制终端

github上也是一样的 

安装MYSQL,安装好还需要设置MYSQL密码 我的电脑里原本就有mysql  所以就没有这一步

sudo apt-get mysql-server

 进去mysql  

sudo mysql  -uroot -p

 创建一个hx数据库 -> 选择创建的数据库hx -> 创建表user -> 添加用户名字和密码等数据

 项目作者给了MYSQL的语句,可以在README看 

// 建立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');

 创建完毕,可以查看你建的数据库

show tables; 

select *from user;

3、编译tinywebserver

首先需要确认main.cpp里的数据库和你mysql数据库配置相同。
查看数据库名称和密码

    cd /etc/mysql
    sudo vim debian.cnf

 输入以上命令,就会出现一下页面

找到clone 下来的TinyWebServer项目 找到main.cpp文件(一般都在主目录下面),然后打开,可以在控制台打开,也可以以文件的方式打开

 注意 如果clone的项目文件被锁了 不能进行写操作,这时候需要解锁,使用一下命令

sudo chmod -R 777 TinyWebServer

 改了权限之后才能对main.cpp文件进行写操作

然后修改main.cpp文件脚本,使用文本编辑器打开main.cpp 方便修改

 最后对应之前数据库的用户名和密码 修改main.cpp中的 数据库信息

 修改后 2,编译Tinywebserver(编译运行)

cd Tinywebserver
sh ./build.sh

如果出现以上问题;就需要安装libmysqlclient-dev 

 pt-get install libmysqlclient-dev

如果安装上面的链接库也出现了问题(没有出问题 就直接跳过这里)

就需要安装libssl-dev

  pt-get install libssl-dev

 如果还是报错 报错依赖问题 像像下面这种

 解决方法就是:使用aptitude软件包管理来安装:

然后再安装 libmysqlclient-dev 

 

安装成功后 输入sh ./build.sh

此时他会创建server文件

最后在命令行输入 ./server

 ./server

 没有退出 就是保持链接的 

 4、浏览器查看效果

在浏览器搜索框 输入ip:9006就可以进行登录注册操作了(输入localhost:9006)

 

 

 

 以上就是跑通整个项目的流程 

下面将会详解 整个项目的代码、实现原理

  • 22
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值