E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
tinywebserver
Tinywebserver
数据库连接池源码分析day0
Tinywebserver
的第一天源自github:GitHub-qinguoyi/
TinyWebServer
::fire:Linux下C++轻量级WebServer服务器这是项目的数据库连接池一共有两个文件
winsons_lu
·
2024-09-10 02:02
数据库
oracle
四、单线程多路IO复用+多线程业务工作池
由于项目变大,尝试解耦项目,使用CMake,可以看这篇文章现代CMake使用,使C++代码解耦本节代码均可在仓库
TinyWebServer
中找到1编译方法#进入Se
繁星十年
·
2024-08-25 17:34
c++20
网络
经验分享
c++
服务器
从零开始实现C++
TinyWebServer
(八)---- 千呼万唤始出来,封装Epoller搭建服务器
文章目录前言1.Epoller2.WebServer的设计2.1设计2.2WebServer类详解2.2.1初始化2.2.2启动WebServer2.2.3I/O处理的具体流程代码epoller.hepoller.cppwebserver.hwebserver.cppmain.cppMakefile压测结束语前言这一部分应该算是项目甚至面试的重点之重点,许多知识点都需要掌握通透,我后面打算再写一篇
JehanRio
·
2024-02-05 19:16
从零开始实现C++
TinyWebServer
c++
后端
linux
WebServer 跑通/运行/测试(详解版)
椿-沈以诚-单曲-网易云音乐目录前言跑通(1)系统环境(2)克隆源码(3)安装和配置Mysql(4)写sql语句(5)编译
TinyWebServer
(6)压力测试前置知识前言做开源项目,遇到BUG,先看
千帐灯无此声
·
2024-01-13 14:33
网络编程
C++
web
网络
c++
c++ 经典服务器开源项目
Tinywebserver
学习笔记
learningmakemehappy---更新中疑问部分ENGINE=InnoDB存储引擎指定为innoDB的作用的意义?报错部分fatalerror:mysql/mysql.h:Nosuchfileordirectory?进程结束后还占用大量内存?知识学习和查漏补缺epoll_create(5)这个参数有什么作用?学习中的疑问?//创建user表USEyourdb;CREATETABLEuse
橘子味的茶二
·
2024-01-11 16:51
github
c++
服务器
学习
MyWebServer开发日记-socket
打算把
tinyWebServer
重写成跨平台(WindowsandLinux)的。
只想开始
·
2024-01-10 14:11
c++
笔记
学习
C++
TinyWebserver
部署到Linux下,并运行(Vmware的虚拟机Ubuntu20.04)
整合:(2条消息)c++经典服务器开源项目
Tinywebserver
的使用与配置(百度智能云服务器安装ubuntu18.04可用公网ip访问)_yingLGG的博客-CSDN博客(2条消息)Mysql初始化
HDU学渣
·
2024-01-09 14:49
linux
ubuntu
服务器
C++
TinyWebserver
部署到Linux下,并运行(使用的是Vmware的虚拟机运行Ubuntu20.04)
环境:Vmware+Ubuntu20.041.
Tinywebserver
项目地址:https://github.com/qinguoyi/
TinyWebServer
2.首先进行mysql5.7的安装:参考教程
100编程朱老师
·
2024-01-09 13:41
c/c++
linux
运维
服务器
C++Web服务器(一):服务器整体运行流程
服务器整体运行流程服务器介绍服务器端整体运行流程webserver的初始化日志、数据库、线程池和触发模式主线程监听连接主线程处理监控文件描述符上的事件服务器介绍本项目大部分参考社长的
TinyWebServer
MidCrane
·
2024-01-09 10:53
服务器
c++
后端
四月润润润:总纲
当前学习路线1、学习黑马C++视频,复习一下C++基础2、二刷C++primer,完成课后练习题前三道3、学习计网4、学习操作系统5、算法重刷代码随想录,剑指offer6、C++项目:
tinywebserver
学而知不足~
·
2024-01-08 16:28
c++
一文懂远程Linux服务器 VSCode 调试cpp文件&一次编译多cpp文件&正常库文件路径异常
Linux服务器VSCode调试cpp文件&多cpp文件,解决库文件路径异常首先我们应该用VSCode打开项目所在文件夹用VSCode项目专属的文件夹,否则会和其他cpp文件配置冲突比如我的项目文件夹是
TinyWebServer
-master
SuperGoodGame
·
2023-11-30 06:39
C++
Linux服务器
服务器
linux
vscode
c++
初次使用c++的
TinyWebServer
时遇到的一些报错与解决方案
初次使用c++的
TinyWebServer
时遇到的一些报错与解决方案1.mysql.h报错2.log报错1.首先正确配置mysql2.关闭防火墙3.使用sh./build进行编译无报错4.使用.
爱吃饭的大猫
·
2023-11-29 16:49
c++
(一)
TinyWebServer
的环境配置与运行
Linux下C++轻量级Web服务器,项目来源于:
TinyWebServer
配置环境(为下载代码,编译运行做准备)1.安装VMwareVMware官网选择产品,点击WorkstationPro下载试用版
神奇宝贝威威
·
2023-11-20 16:53
TinyWebServer
数据库
sqlserver
tinywebserver
高并发
Web服务器---
TinyWebServer
代码详细讲解(timer模块)
TinyWebServer
代码详细讲解(timer模块)基础知识设计思路定时器触发方式定时器的数据结构代码详解基础知识非活跃,是指客户端(这里是浏览器)与服务器端建立连接后,长时间不交换数据,一直占用服务器端的文件描述符
才文嘉
·
2023-11-19 08:56
Web服务器
服务器
web服务器
c++
信号处理
c++ 经典服务器开源项目
Tinywebserver
如何运行
第一次直接按作者的指示,运行sh./build.sh,再运行./server,发现不起作用,localhost:9006也是拒绝访问的状态,后来摸索成功了发现,运行./server之后,应该是启动状态,就是不会退出,而如果运行./server直接结束就代表数据库没有配好。正确运行时状态:(不会退出)接下来是配置的教程:1、第一次直接运行sh./build.sh,应该会出现这样的报错运行下面命令,安
渡梦酒
·
2023-11-14 15:31
服务器
运维
linux
c++
webserver
Tinywebserver
学习记录之 环境搭建运行 及 报错解决
1.安装mysql安装配置mysql1.1安装mysqlsudoapt-getinstallmysql-server1.2进行初始化配置sudomysql_secure_installation配置项较多,如下#1VALIDATEPASSWORDPLUGINcanbeusedtotestpasswords...Pressy|YforYes,anyotherkeyforNo:N(我的选项)#2Ple
深耕半夜
·
2023-10-24 06:09
学习
TinyWebServer
整体流程
从main主函数开始:一、定义MySQL数据库的账号、密码和用到的数据库名称。二、调用Config获得服务器初始化属性在这一步确定触发模式端口等信息。三、创建服务器实例对象设置根目录、开辟存放http连接对象的空间,开辟定时器空间。四、利用Config里面的属性值初始化server的属性值五、开启日志选择同步日志还是异步日志。六、初始化数据库连接池这里需要把数据库中已有数据存到map中。七、初始化
爱躺平的咸鱼
·
2023-10-06 20:05
TinyWebServer笔记
学习
TinyWebServer
学习笔记-threadpool
线程池的特点:空间换时间,浪费服务器的硬件资源,换取运行效率.池是一组资源的集合,这组资源在服务器启动之初就被完全创建好并初始化,这称为静态资源.当服务器进入正式运行阶段,开始处理客户请求的时候,如果它需要相关的资源,可以直接从池中获取,无需动态分配.当服务器处理完一个客户连接后,可以把相关的资源放回池中,无需执行系统调用释放资源.工作流程:采用Proactor并发模型,主线程负责监听文件描述符,
爱躺平的咸鱼
·
2023-10-04 02:27
TinyWebServer笔记
学习
笔记
TinyWebServer
学习笔记-log
为什么服务器要有一个日志系统?故障排查和调试:在服务器运行期间,可能会发生各种问题和故障,例如程序崩溃、性能下降、异常请求等。日志记录了服务器的运行状态、错误信息和各种操作,这些日志可以用来快速定位和排查问题,帮助开发人员更容易地找到问题的根本原因,从而更快地修复bug和提高服务器稳定性。性能监测:通过日志系统可以记录服务器的性能数据,包括请求处理时间、吞吐量、内存使用情况、CPU利用率等等。这些
爱躺平的咸鱼
·
2023-10-04 02:56
TinyWebServer笔记
学习
笔记
TinyWebServer
学习笔记-MySQL数据库连接
为什么要用数据库连接池?我们的网站允许用户注册,在没有池的情况下,假设只有一个人,那么流程就是,用户点击注册,通过socket将用户的账号和密码发送到服务器,然后就需要创建MySQL数据库连接,然后插入数据,插入完毕后销毁该连接;然而当用户很多时,这个设计就会花费大量的时间在数据库连接的创建和释放上。为了避免这种情况,引入池的概念,在程序初始化的时候,集中建立多个数据库连接,并集中管理,供程序使用
爱躺平的咸鱼
·
2023-10-03 16:57
TinyWebServer笔记
数据库
学习
笔记
TinyWebServer
学习笔记-
为什么要使用锁、信号量、条件变量?网站不可能是单线程的,否则网站的性能和响应都会收到严重的影响。因此,这个项目一定是运行在多线程条件下的。而在多线程条件下,对共享资源的互斥访问就极其重要。为什么要将资源封装成类?首先,我们要明确资源的使用一般有三个步骤:1、获取资源2、使用资源3、释放资源然而,大多数情况下,我们一定能做到前两点,而总是忘记第三步,这就会造成资源的泄露。为了解决这个问题,提出了RA
爱躺平的咸鱼
·
2023-10-03 16:27
TinyWebServer笔记
学习
笔记
TinyWebServer
学习笔记-Config
为了弄清楚具体的业务逻辑,我们直接从主函数开始看源代码:#include"config.h"intmain(intargc,char*argv[]){//需要修改的数据库信息,登录名,密码,库名stringuser="root";stringpasswd="root";stringdatabasename="qgydb";//命令行解析Configconfig;config.parse_arg(a
爱躺平的咸鱼
·
2023-10-03 16:24
TinyWebServer笔记
学习
笔记
java
轻量级web并发服务器——
TinyWebServer
的学习了解
轻量级web并发服务器——
TinyWebServer
的学习了解前言
TinyWebServer
是什么WebServer是什么
TinyWebServer
是什么相关基础知识用户如何与服务器进行通信代码架构I/
闪耀于终焉之枪
·
2023-10-03 14:57
c++
websocket
单例模式
linux
笔记
TinyWebServer
学习笔记——Day01
通过这个HTTP项目熟悉网络编程系统:Ubuntu20.04首先,学习的第一步就是先让程序跑起来,使用git将项目下载到虚拟机内:gitclonehttps://github.com/qinguoyi/
TinyWebServer
.git
爱躺平的咸鱼
·
2023-10-03 14:56
TinyWebServer笔记
学习
笔记
tinyWebServer
学习笔记——五、数据库连接池
文章目录一、基础知识二、代码解析1.单例模式创建2.连接池初始化3.获取和释放连接4.销毁线程池5.RAII机制释放数据库连接参考文献一、基础知识数据库连接池:池是一组资源的集合,这组资源在服务器启动之初就被创建并初始化。数据库连接池就是专门处理数据库连接的资源,当客户发起请求时,就从池中获取资源;完成任务后,就将其放回资源池。整个过程无需使用系统调用动态分配或释放资源。数据库访问流程:先系统创建
BeZer0
·
2023-09-22 20:57
计算机网络
数据库
学习
笔记
tinyWebServer
学习笔记——六、注册登录
文章目录一、基础知识二、代码解析1.载入数据库表2.提取用户名和密码3.同步线程登录注册4.页面跳转参考文献一、基础知识流程图[1]二、代码解析1.载入数据库表//用户名和密码mapusers;//初始化数据库voidhttp_conn::initmysql_result(connection_pool*connPool){//先从连接池中取一个连接MYSQL*mysql=NULL;connect
BeZer0
·
2023-09-22 20:57
计算机网络
学习
笔记
tinyWebServer
学习笔记——四、日志系统
文章目录一、基础知识1.概念2.API二、代码解析1.单例模式2.阻塞队列3.日志类定义4.生成日志文件并判断写入方式5.日志分级与分文件参考文献一、基础知识1.概念流程图[2]日志:由服务器自动创建,用于记录运行状态和错误信息;同步日志:日志写入函数与工作线程串行执行,由于涉及到I/O操作,当单条日志较大时,同步模式会阻塞整个处理流程,服务器所能处理的并发能力将有所下降,易称为性能的瓶颈;异步日
BeZer0
·
2023-09-22 20:27
计算机网络
linux
网络
服务器
从零开始实现C++
TinyWebServer
(一)---- 项目总述
导航:从零开始实现C++
TinyWebServer
全过程记录什么是WebServer来自GPT的回答:Web服务器是一种软件程序,它在Intern
JehanRio
·
2023-09-21 20:22
从零开始实现C++
TinyWebServer
服务器
c++
linux
后端
从零开始实现C++
TinyWebServer
(二)---- 勿在浮沙筑高台,项目地基需打稳
文章目录前言1.纵观Buffer类2.开始写代码buffer.hbuffer.cpp3.主要实现方法4.创新点结束语前言思来想去,不知起什么题目给这篇文章。我是准备自底向下来写这个专栏的,于是就想到了这句话(好吧其实后半句是我自己加的,不是很押韵,读着非常难受)。这句话前半句原处是出自侯捷老师的《深入浅出MFC》,引申义为做什么事都要脚踏实地,打好基础,同时做事要选择自己所擅长的和所感兴趣的方面,
JehanRio
·
2023-09-21 20:22
从零开始实现C++
TinyWebServer
c++
后端
linux
从零开始实现C++
TinyWebServer
(九)---- 项目知识点总结
文章目录前言项目介绍为什么要做这样一个项目?项目背景项目描述项目功能项目流程项目重难点项目效果解决方案个人收获线程池线程的同步机制有哪些?线程池中的工作线程是一直等待的吗?如果同时1000个客户端进行访问请求,线程数不多,怎么能及时响应处理每一个呢?如果一个客户请求需要占用线程很久的时间,会不会影响接下来的客户请求呢,有什么好的策略呢?定时器为什么手动实现小根堆?常用的定时器结构和它们的差异?日志
JehanRio
·
2023-09-21 20:22
从零开始实现C++
TinyWebServer
c++
linux
后端
从零开始实现C++
TinyWebServer
全过程记录
文章目录前言从零开始实现C++
TinyWebServer
全过程记录1.全流程博客链接2.源码仓库前言在写这篇博客的时候,我的这个
TinyWebServer
项目已经完成了。
JehanRio
·
2023-09-21 20:51
从零开始实现C++
TinyWebServer
c++
linux
后端
六、线程池的编写与解析 ——
TinyWebServer
六、线程池的编写与解析——
TinyWebServer
一、前言经过上次数据库连接池的书写,大家也应该明白池的编写。这里说一下不同点,和一些要注意的点。为什么使用模板?为什么不用单例模式了?
繁星十年
·
2023-09-19 14:56
c++
linux
经验分享
后端
服务器
五、数据库连接池解析与编写 ——
TinyWebServer
数据库连接池解析与编写——
TinyWebServer
一、前言需要了解以下几个问题。数据库连接池也就迎刃而解了。
TinyWebServer
/CGImysql数据库连接池是什么?作用是什么?
繁星十年
·
2023-09-19 14:55
数据库
linux
服务器
ubuntu
经验分享
c++
后端
七、定时器类的编写与解析 ——
TinyWebServer
定时器类的编写与解析——
TinyWebServer
一、前言定时器非常好写。就是链表加定时函数。搞懂他的作用就成。定时器的作用是什么?什么是回调函数?用到的函数是什么?
繁星十年
·
2023-09-19 14:24
ubuntu
linux
经验分享
c++
服务器
一、认识GitHub项目 ——
TinyWebServer
认识GitHub项目——
TinyWebServer
一、前言这个项目是Linux下C++轻量级Web服务器。几乎是想从事C++服务器开发方向的同学的必备初始项目了。
繁星十年
·
2023-09-13 13:35
linux
github
c++
经验分享
后端
服务器
二、环境配置,项目运行 ——
TinyWebServer
环境配置,项目运行——
TinyWebServer
一、前言上一期已经介绍过这个项目的基本结构,不懂得可以点开主页查找。写代码前。一般的步骤就是,先把别人的代码下载下来运行。
繁星十年
·
2023-09-13 13:35
ubuntu
linux
经验分享
c++
mysql
三、lock类的编写与解析 ——
TinyWebServer
lock类的编写与解析——
TinyWebServer
一、前言这个类的作用作者已经给了解释——“多线程同步,确保任一时刻只能有一个线程能进入关键代码段.”对于这句话其实看了,会有似懂非懂的感觉,然后写代码的时候
繁星十年
·
2023-09-13 13:35
linux
ubuntu
经验分享
c++
三、日志编写 ——
TinyWebServer
日志编写——
TinyWebServer
一、前言上期已经写完lock类的编写。这期是日志的编写。对于日志需要弄懂几个基本概念才可以更好的理解和编写日志。什么是日志?常用的日志级别有哪些?
繁星十年
·
2023-09-13 13:33
前端
linux
服务器
c++
经验分享
ubuntu
从零开始实现C++
TinyWebServer
(三)---- 补偏救弊调试分析,日志系统来帮忙
文章目录前言1.知识点1.1单例模式1.2异步日志2.日志的运行流程3.blockqueue4.日志的分级与分文件5.实现代码blockqueue.hlog.hlog.cpp结束语前言一个合格的Web服务器当然少不了日志系统了。正如标题所言,日志系统在整个项目中能够帮助调试、错误定位、数据分析。我们想设计一个日志模块,他能顺利写日志但是又不要占用主线程时间去写,所以我们设计异步写日志的模块。导航:
JehanRio
·
2023-09-10 02:01
从零开始实现C++
TinyWebServer
c++
后端
TinyWebServer
1--log
CGImysql数据库连接池5、timer定时器机制6、log日志机制其他内容如下:1、主函数以及webserver2、root静态资源页面3、test_pressure压力测试4、config项目配置
TinyWebServer
zhaojiazb
·
2023-08-25 12:17
单例模式
Tinywebserver
浏览器无法访问,阿里云服务器ping不通
问题:
tinywebserver
部署在阿里云服务器,使用ip:端口无法访问,一直显示超时错误原因:使用了私网ip进行访问,应该使用公网ip。ping不通的原因也是因为ping私网ping不通。
乱搭巴士
·
2023-08-06 00:43
服务器
阿里云
linux
服务器编程:数据库连接池
,那么它就有可能需要频繁的创建/销毁数据库连接,那么我们可以采用数据库连接池的技术,在需要时,从数据库连接池中获取数据库连接,在用完数据库连接后再将它重新放回连接池中.本文章所有代码大都来自开源项目:
TinyWebServer
WE xiye
·
2023-07-13 21:48
服务器
数据库
单例模式
TinyWebserver
学习笔记&常问问题整理
RAII:“ResourceAcquisitionisInitialization”资源获取即初始化在构造函数中申请分配资源,在析构函数中释放资源信号量:它只能取自然数值并且只支持两种操作:等待§和信号(V),假设有信号量SVP,如果SV的值大于0,则将其减一;若SV的值为0,则挂起执行V,如果有其他进程因为等待SV而挂起,则唤醒;若没有,则将SV值加一互斥量互斥锁,也成互斥量,可以保护关键代码段
Wind哥
·
2023-06-22 02:46
学习
笔记
c++
http
websocket
Tinywebserver
项目运行(docker部署mysql)
.运行项目运行时遇到的一些其他问题重启mysql容器时发现端口被占用前言
Tinywebserver
是github上一个十分优秀的开源项目,帮助初学者学习如何搭建一个服务器.本文讲述如何在使用docker
WE xiye
·
2023-06-18 19:41
docker
mysql
容器
C++轻量级Web服务器
TinyWebServer
源码分析之log篇
文章目录log日志篇简介一、日志类的定义与使用二、单例模式与阻塞队列的定义1、单例模式2、阻塞队列log日志篇简介使用单例模式创建日志系统,对服务器运行状态、错误信息和访问数据进行记录,该系统可以实现按天分类,超行分类功能。其中异步写入方式,将生产者-消费者模型封装为阻塞队列,创建一个写线程,工作线程将要写的内容push进队列,写线程从队列中取出内容,写入日志文件。日志,由服务器自动创建,并记录运
BingeBlog
·
2023-04-12 19:38
Linux操作系统
项目开发与实战
c++
前端
服务器
C++轻量级Web服务器
TinyWebServer
源码分析之lock篇
lock篇简介由于C++轻量级Web服务器不可避免的会有多线程同步问题,所以封装经常使用的锁机制,确保任一时刻只能有一个线程能进入关键代码段.封装lock类使用RAII机制,将锁的创建和销毁函数封装在类的构造与析构函数中,将重复使用的代码封装为函数,减少代码的重复,使其更简洁。社长原文:在构造函数中申请分配资源,在析构函数中释放资源。因为C++的语言机制保证了,当一个对象创建的时候,自动调用构造函
BingeBlog
·
2023-04-12 19:37
Linux操作系统
项目开发与实战
c++
java
开发语言
C++轻量级Web服务器
TinyWebServer
源码分析之http篇
文章目录http篇简介一、服务器接收http请求和http报文解析解析报文整体流程从状态机逻辑主状态机逻辑二、服务器响应请求报文http篇简介http类这篇个人觉得是最难同时也是最繁琐的一篇,本篇在基础知识方面,包括epoll、HTTP报文格式、状态码和有限状态机,不做赘述,所有源码分析的篇章基础知识会做单开一篇或者读者可以看小白一文看懂社长服务器来补基础知识。真的佩服那个叫社长的男人,我读代码且
BingeBlog
·
2023-04-12 19:37
项目开发与实战
Linux操作系统
服务器
前端
http
C++轻量级Web服务器
TinyWebServer
源码分析之threadpool篇
文章目录threadpool线程池篇简介一、线程池的创建与回收二、向请求队列添加请求任务三、worker函数内部访问run函数,完成线程处理四、run函数执行任务原文链接threadpool线程池篇简介空间换时间,浪费服务器的硬件资源,换取运行效率.池是一组资源的集合,这组资源在服务器启动之初就被完全创建好并初始化,这称为静态资源.当服务器进入正式运行阶段,开始处理客户请求的时候,如果它需要相关的
BingeBlog
·
2023-04-08 12:07
Linux操作系统
项目开发与实战
c++
服务器
linux
ubuntu
后端
Linux项目实战C++轻量级Web服务器源码分析
TinyWebServer
立下flag文章简介
TinyWebServer
是Linux下C++轻量级Web服务器,助力初学者快速实践网络编程,搭建属于自己的服务器.作为新手拿它练手入门再好不过的不二之选,项目开发者社长也写了一些文章帮助初学者理解
BingeBlog
·
2023-04-08 12:06
Linux操作系统
项目开发与实战
c++
服务器
开发语言
TinyWebServer
遇到的问题1.Reactor和Proactor当下开源软件能做到网络高性能的原因就是I/O多路复用吗?是的,基本是基于I/O多路复用,用过I/O多路复用接口写网络程序的同学,肯定知道是面向过程的方式写代码的,这样的开发的效率不高。于是,大佬们基于面向对象的思想,对I/O多路复用作了一层封装,让使用者不用考虑底层网络API的细节,只需要关注应用代码的编写。大佬们还为这种模式取了个让人第一时间难以理解
jiong1998
·
2023-04-03 20:09
网络
c++
服务器
上一页
1
2
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他