c++服務器開源項目Tinywebserver運行
- 一、Tinywebserver介紹
- 二、環境搭建
- 三、構建數據庫
- 四、編譯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
mysql -u root -p
2、建立你的數據庫
根據readme寫sql語句:創建 yourdb數據庫,創建user表。
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項目文件中打開終端,運行命令編譯項目。
sh ./build.sh
啟動server
./server
五、查看效果
輸入ip:9006就可以進行登錄注冊操作了,可以使用ifconfig查看ip地址。
參考資料:
c++ 經典服務器開源項目 Tinywebserver的使用與配置(百度智能云服務器安裝ubuntu18.04可用公網ip訪問)