当前位置: 首页 > 工具软件 > Drogon > 使用案例 >

c++高性能web框架drogon入门教程一,linux环境搭建和demo运行

寿子轩
2023-12-01

2020年8月31日16:39:03

c++高性能web框架drogon入门教程一 linux环境搭建和demo运行

c++高性能web框架drogon入门教程二 windows10下安装drogon,配合vscoede搭建开发环境

c++高性能web框架drogon入门教程三 控制器和数据库客户端使用

c++高性能web框架drogon入门教程四 orm使用,csp使用

c++高性能web框架drogon入门教程五 实例小项目,web和api实例代码


drogon是目前在快速迭代性能非常高的一个mvc web框架

官方中文文档https://github.com/an-tao/drogon/wiki/01-概述

个人建议入手这个框架的最好在linux下开发,c++编译复杂的问题,windows上 我vcpkg安装完drogon_ctl 创建完项目但是等编译代码的时候告诉找不到drogon src目录
所以放弃在centos8上安装桌面版本,最后一切顺利,但是等我周末搞完回公司在服务器上搭建的时候又是各种问题,吧小的坑点慢慢填完了,避免其他人再次采坑吧

个人在windows10安装vcpkg drogon_ctl 的一些小坑

1,注意在vcpkg 下载包的时候会出现,很大机会出现下载不了,上了vpM之后,dos还是走不了vpm的,需要设置代理所以更简单的办法就是自己手动下载文件,然后吧文件扔到download文件下
2,如果出现任何错误,请多次尝试重复下载文件,因为可能是某些软件的缺失导致的,我第一次安装的就遇到问题无法解决,然后重新下载文件,然后drogon_ctl 才安装成功
3,注意git拉包很慢,只能慢慢等,不然出现文件缺失,就惨了

官方安装说明

https://github.com/an-tao/drogon/wiki/02-安装

系统要求

Linux内核应不低于2.6.9,64位版本;
gcc版本不低于5.4.0;
构建工具是cmake,cmake版本应不低于3.5;
git版本管理工具;

依赖库

trantor,non-blocking I/O C++网络库,也是作者开发,已作为git仓库submodule,无需提前安装;
jsoncpp,json的c++库,版本不低于1.7;
libuuid,生成uuid的c库;
zlib,用于支持压缩传输;
OpenSSL,并非必须,如果安装了OpenSSL库,drogon将支持HTTPS,否则drogon只支持HTTP;
c-ares, 并非必须,如果安装了ares库,drogon对DNS的支持会具有更好的性能;
libbrotli,并非必须,如果安装了brotli库,drogon的HTTP响应会支持brotli压缩;
boost,版本不低于1.61,只在C++编译器不支持c++17时才需要安装;
postgreSQL, mariadb, sqlite3的客户端开发库,并非必须,安装后drogon会提供对响应的库的访问能力;
gtest, 并非必须,如果安装了gtest库,drogon的单元测试代码可以被编译;

以下时候各个小问题的处理方式

1,不要yum install jsoncpp

使用cmake 安装并在

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib64   
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/lib64    
保存,再来一句: source /etc/profile

不然有些情况下,drogon_ctl在创建的新项目的时候会找不到jsoncpp

2,官方文档了漏掉了yum install make

3,git下载代码慢可以使用https://gitclone.com 来加速

但是如果你用的代码库不常用,就请自己慢慢下载,不然临时加速会造成代码不完整,偶尔出现,以防万一

4,cmake安装

wget https://github.com/Kitware/CMake/releases/download/v3.18.2/cmake-3.18.2.tar.gz
tar xzvf cmake-3.3.2.tar.gz
cd cmake-3.3.2
./bootstrap
gmake
make install
不要yum install cmake不然会出现cmake的安装路径不是/usr/bin下面去了 /usr/share。然后出现问题

5,不要随便颠倒安装顺序,不然可能找不到库

但是需要先把这几个包先装了
uuid
yum install libuuid-devel
OpenSSL
yum install openssl-devel
zlib
yum install zlib-devel

6,测试的时候注意关闭防火墙

7,linux chrome root无法启动

Exec=/usr/bin/google-chrome-stable %U -no-sandbox

8.升级gcc

yum install centos-release-scl
yum install devtoolset-8
scl enable devtoolset-8 bash
注意: scl enable devtoolset-8 bash命令仅是临时性的使新的gcc生效,直到会话结束。如果想永久使用新版gcc,
可以使用命令echo "/opt/rh/devtoolset-8/enable" >>/etc/profile.d/devtoolset-8.sh, 系统重新启动后将自动使用新版gcc。
注意:官方文档里是centos7.5,但是8.X不需要,请注意

 类似资料: