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不需要,請注意