首页 > 系统相关 >Linux编译安装 drogon(高性能http服务器)

Linux编译安装 drogon(高性能http服务器)

时间:2023-10-22 23:46:00浏览次数:41  
标签:http && tar 编译 https Linux com drogon

实际上还是建议用Ubuntu进行编译,要方便的多

drogon编译安装:https://zhuanlan.zhihu.com/p/601632372

drogon编译安装:https://wenku.baidu.com/view/4408ed4e84c24028915f804d2b160b4e777f8150.html

一、编译前置依赖项目 jsoncpp

# 项目地址:https://github.com/open-source-parsers/jsoncpp
wget https://github.com/open-source-parsers/jsoncpp/archive/refs/tags/1.9.5.tar.gz
# 解压 -> 创建编译目录 -> 使用cmake生成Makefile文件 -> 编译 -> 安装
tar -xvf 1.9.5.tar.gz && cd jsoncpp-1.9.5 && mkdir build && cd build && cmake .. && make -j4 && make install

二、下载前置依赖项目 trantor 源码

注意:不要下载最新的

# 项目地址:https://github.com/an-tao/trantor/tree/dd133c7bca937c652c76cb03c9e128fd76fb7bda
# 下载指定版本 1.5.11 版本
wget https://github.com/an-tao/trantor/archive/refs/tags/v1.5.11.tar.gz
# 解压,但不编译,将解压后的文件全部移动至 drogon 项目源码中的 trantor 目录中去
tar -xvf v1.5.11.tar.gz && cd trantor-1.5.11

三、编译 drogon 项目源码

注意:不要下载最新的

# 项目地址:https://github.com/drogonframework/drogon
# 下载 1.8.4 版本
wget https://github.com/drogonframework/drogon/archive/refs/tags/v1.8.4.tar.gz
tar -xvf v1.8.4.tar.gz && cd drogon-1.8.4
# 将 trantor 的源码移动至这个工程里
# 执行编译脚本,在 build 目录下会生成 libdrogon.a,在 build/trantor 目录下会生成 libtrantor.a
./build.sh

测试

【main.cpp】
#include <drogon/drogon.h>
using namespace drogon;
int main() {
    app().setLogPath("./").setLogLevel(trantor::Logger::kWarn)
	.addListener("0.0.0.0", 80).setThreadNum(16).enableRunAsDaemon().run();
}
// 编译指令:g++ -std=c++17 -o main main.cpp libdrogon.a libtrantor.a -lpthread -lssl -lcrypto -ldl -luuid -lsqlite3 -lz -ljsoncpp

参考

https://github.com/drogonframework/drogon/issues/1702

解决:undefined reference to symbol'inflateInit2_'https://blog.csdn.net/lanyang123456/article/details/45769313

标签:http,&&,tar,编译,https,Linux,com,drogon
From: https://www.cnblogs.com/hhddd-1024/p/17781389.html

相关文章

  • Linux编译OpenSSL 3.0.0
    github仓库地址:https://github.com/openssl/openssl官网下载地址:https://www.openssl.org/source/old/#下载特定版本wgethttps://www.openssl.org/source/old/3.0/openssl-3.0.0-alpha3.tar.gztar-xvfopenssl-3.0.0-alpha3.tar.gz&&cdopenssl-3.0.0-alpha3#配......
  • Linux | Vim如何在文件末尾增加内容
    方法一:①G(shift+g):跳到文件最后一行②A :当前行末尾添加方法二:G(Shift+g)[跳到文件最后一行]&(Shift+4)[跳到行最后一个字符]o[在当前行下面插入一行]#step3O(Shift+o)[在当前行上面插入一行]Esc[命令行模型]w......
  • Https 安全协议版本支持检测工具
    需求:帮朋友做了一个小工具,主要目的是检查局域网(在线检查网站无法访问内网)的https站点配置的安全协议版本,方便给第三方提供接口文档,描述https站点所使用的安全协议。相信大家在开发过程中,可能会遇到“Therequestwasaborted:CouldnotcreateSSL/TLSsecurechannel”异常,......
  • linux tar 命令使用方法
    在Linux系统中,tar命令用于创建和解压缩归档文件,通常称为"tarballs"。它可以处理多个文件和目录,并且可以与压缩程序(如gzip和bzip2)一起使用以创建和解压缩压缩的tar文件。以下是tar命令的一些常用选项:-c:创建新的归档文件。-x:从归档文件中解出文件。-t:列出归档文件中的文件列表......
  • Linux第3章
    第三章学习笔记Unix/Linux进程管理多任务处理计算机技术概念中的多任务处理指的是同时执行若干独立任务。无论是在多处理机系统还是单处理机系统都可以实现多任务处理。对于单处理机系统,多任务处理的实现依靠着多路复用技术,通过上下文的快速切换实现逻辑上的多任务并行处理。这......
  • Linux第三次周总结
    第四章文件权限4.1基本权限UGOU:owner,属主。G:group,属组。O:other,其他用户。Linux系统通过U、G、O将用户分为三类,并将这三类用户分别设置三种基本权限,这种设置权限的方式称作UGO方式。r:read(读取),数字设定为4。w:write(写入),数字设定为2。x:execute(执行),数字设定为1。其中,owne......
  • linux文件管理
    2.1文件目录与路径1文件目录Windows系统以多根的方式组织文件(如C:\、D:\、E:\),而Linux系统以单根的方式组织文件,如图2.1所示。 可以看到,所有的文件都在根目录(1)下,其中箭头指向真实存在的文件。例如,/bin实际存在于/usr/bin,/bin只是一个链接文件。 根目录下常见的目录/b......
  • Linux 运维培训机构避坑
    本人本科计算机专业毕业,目前在深圳做运维。经历如下:20年6月,经师兄推荐,入职了一个小公司做个棋牌后端开发,因为自己性格和技术原因(太菜了,不想拖后腿),干了9个月后离职,薪资应该是6k左右吧(记不太清,还是师兄争取后涨上去的,特别感谢他)21年5月,去成都投靠同学,投了5家左右的后端开发,虽然简......
  • 第三章Unix/Linux进程管理—学习笔记六
    〇.本章思维导图1.最近刚好操作系统也学习到进程相关部分,因此再看这些知识更易懂了2.思维导图3.本章简介本章讨论了Unix/inux中的进程管理;阐述了多任务处理原则;介绍了进程概念;并以一个编程示例来说明多任务处理、上下文切换和进程处理的各种原则和方法。多任务处理系统......
  • 无发访问文件时的处理方式(Linux)
    一:概述在访问文件系统的过程中可能会遇到无法读取、无法修改或者无法创建文件的问题。当文件系统的可用空间变少时,应用程序的运行速度会变得十分缓慢,这也会影响到我们文件的访问速度。二:处理方式<1>文件系统的可用空间用完或者文件系统损坏了处理方式如果在使用文件系统的过程中发......