亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

用docker搭建 drogon  環(huán)境 世界最快WEB

一、Drogon是一個(gè)基于C++14/17的Http應(yīng)用框架,使用Drogon可以方便的使用C++構(gòu)建各種類型的Web應(yīng)用服務(wù)端程序。 本版本庫(kù)是github上Drogon工程的鏡像庫(kù)。Drogon是作者非常喜歡的美劇《權(quán)力的游戲》中的一條龍的名字(漢譯作卓耿),和龍有關(guān)但并不是dragon的誤寫,為了不至于引起不必要的誤會(huì)這里說明一下。

Drogon是一個(gè)跨平臺(tái)框架,它支持linux,也支持macOS、FreeBSD,和windows。

二、它的主要特點(diǎn)如下:

網(wǎng)絡(luò)層使用基于epoll(macOS/FreeBSD下是kqueue)的非阻塞IO框架,提供高并發(fā)、高性能的網(wǎng)絡(luò)IO。詳細(xì)請(qǐng)見TFB Tests Results;

全異步編程模式;

支持Http1.0/1.1(server端和client端);

基于template實(shí)現(xiàn)了簡(jiǎn)單的反射機(jī)制,使主程序框架、控制器(controller)和視圖(view)完全解耦;

支持cookies和內(nèi)建的session;

支持后端渲染,把控制器生成的數(shù)據(jù)交給視圖生成html頁(yè)面,視圖由CSP模板文件描述,通過CSP標(biāo)簽把C++代碼嵌入到Html頁(yè)面,由drogon的命令行工具在編譯階段自動(dòng)生成C++代碼并編譯;

支持運(yùn)行期的視圖頁(yè)面動(dòng)態(tài)加載(動(dòng)態(tài)編譯和加載so文件);

非常方便靈活的路徑(path)到控制器處理函數(shù)(handler)的映射方案;

支持過濾器(filter)鏈,方便在控制器之前執(zhí)行統(tǒng)一的邏輯(如登錄驗(yàn)證、Http Method約束驗(yàn)證等);

支持https(基于OpenSSL實(shí)現(xiàn));

支持websocket(server端和client端);

支持Json格式請(qǐng)求和應(yīng)答, 對(duì)Restful API應(yīng)用開發(fā)非常友好;

支持文件下載和上傳,支持sendfile系統(tǒng)調(diào)用;

支持gzip/brotli壓縮傳輸;

支持pipelining;

提供一個(gè)輕量的命令行工具drogon_ctl,幫助簡(jiǎn)化各種類的創(chuàng)建和視圖代碼的生成過程;

基于非阻塞IO實(shí)現(xiàn)的異步數(shù)據(jù)庫(kù)讀寫,目前支持PostgreSQL和MySQL(MariaDB)數(shù)據(jù)庫(kù);

基于線程池實(shí)現(xiàn)sqlite3數(shù)據(jù)庫(kù)的異步讀寫,提供與上文數(shù)據(jù)庫(kù)相同的接口;

支持ARM架構(gòu);

方便的輕量級(jí)ORM實(shí)現(xiàn),支持常規(guī)的對(duì)象到數(shù)據(jù)庫(kù)的雙向映射操作;

支持插件,可通過配置文件在加載器動(dòng)態(tài)拆裝;

支持內(nèi)建插入點(diǎn)的AOP

https://gitee.com/an-tao/drogon?_from=gitee_search

三、 其安裝環(huán)境比較麻煩。故選擇用Docker搭建開發(fā)環(huán)境

#docker pull drogonf ramework/drogon

docker run -p 8778:8777 -v /Users/Apple/data/drogon:/data/drogon -it drogonframework/drogon /bin/bash

將本地8778端口映射到容器的8777 ,本地的 /Users/apple/data/drogon目錄 映射到容器的 /data/drogon同時(shí)進(jìn)入到 容器bash

drogon_ctl create project first#創(chuàng)建項(xiàng)目

drogon_ctl create project your_project_name

.新建項(xiàng)目錄為下面

├── CMakeLists.txt

├── build

├── config.json

├── controllers

├── filters

├── main.cc

├── models

│ └── model.json

├── plugins

└── views

修改main.cc

cat main.cc

#include <drogon/drogon.h>

int main() {

//Set HTTP listener address and port

drogon::app().addListener("0.0.0.0",8777);

//Load config file

//drogon::app().loadConfigFile("../config.json");

//Run HTTP framework,the method will block in the internal event loop

drogon::app().run();

return 0;

}

8777表示用8777端口啟動(dòng)。

然后構(gòu)建項(xiàng)目:

cd build

cmake ..

make

在build創(chuàng)建index.html

在 echo '<h1>Hello Drogon!</h1>' >>index.html

運(yùn)行項(xiàng)目

./first

在本地服務(wù)器打開:http://localhost:8778發(fā)現(xiàn)項(xiàng)目啟動(dòng)。

dr.png

用docker搭建 drogon  環(huán)境 世界最快WEB

 


用docker搭建 drogon  環(huán)境 世界最快WEB

 


 

分享到:
標(biāo)簽:環(huán)境 drogon
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定