windows下如何编译tengine

前言:

        本文的主要宗旨是使用cygwin在windows下编译tengine, 同时使用tongsuo, 使tengine支持国密SSL. 本文的编译环境为win10专业版. 详细步骤如下.

1, 安装cygwin

        https://cygwin.com/setup-x86_64.exe

        安装步骤比较简单, 主要步骤如下:

        下一页在选择站点的时候可以填写清华源地址, 如下:

https://mirrors.tuna.tsinghua.edu.cn/cygwin/

        选择软件下载, 后面是我下载的版本, 各位自行选择即可.

gcc-g++                11.4.0-1

perl                        5.36.3-1

make                     4.4.1-2

libcrypt-devel         4.4.20-1

automake autoconf libtool等等, 为了防止出错, 也可以一并下载

        验证下安装是否成功, 其他三个各自验证, libcrypt可以用man crypt确认是否有man文档.

2, 下载文件和依赖

        下载tongsuo, 我用的是8.3版本

https://github.com/Tongsuo-Project/Tongsuo/archive/refs/heads/8.3-stable.zip

        下载pcre, 我用的是8.45版本

https://sourceforge.net/projects/pcre/

        下载zlib, 我用的是1.3.1版本

https://zlib.net/zlib-1.3.1.tar.gz

        下载tengine, 我用的是3.1.0版本

https://github.com/alibaba/tengine/archive/refs/heads/tengine-3.1.0.zip

把这4个文件放在同一个目录下, 并解压

3, 编译tongsuo

        打开cygwin终端, 进入tongsuo目录

./Configure --prefix=/usr/local/tsssl gcc enable-ntls no-asm

       make -j4 && make install

4, 编译tengine

        从cygwin终端进入tengine目录

./configure --with-cc=gcc \--prefix=/usr/local/tengine \--conf-path=conf/nginx.conf \--pid-path=logs/nginx.pid \--http-log-path=logs/access.log \--error-log-path=logs/error.log \--sbin-path=nginx.exe \--add-module=modules/ngx_tongsuo_ntls \--with-openssl="/usr/local/tsssl" \--with-pcre="../pcre-8.45" \--with-zlib="../zlib-1.3.1" \--with-http_ssl_module \--with-stream \--with-stream_ssl_module \--with-stream_sni \--with-ld-opt="-lcrypt"

        make -j12 && make install       

        编译成功.

结尾:

        本文主要讲述了使用cygwin在windows下编译tengine, 如果编译遇到了问题, 请查一下gcc或者perl等等依赖未下载, 或者依赖的路径对不对, 或者复制configure命令的时候有编码问题. 也可以一起沟通讨论.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/534937.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

当运维深陷“困境”,如何“破旧立新”?

背景 先来看下运维小伙伴们遇到的几种境遇: 投产变更,流程流于形式 投产步骤特别复杂,几百套系统几百种投产方式,公司的测试环境流于形式,经常会有投产文档和真实操作不一致的情况 几百套系统,几十种操作…

Maya 切换面选择模式

文章目录 切换面选择模式 切换面选择模式 maya默认的面选择模式是点击面选择面,但是这种模式下,在线框显示时我们会不知道哪里有面,我们更希望点击面的中心点选择面,就像下图,哪里有面一目了然 设置方法 这里可以切…

【漏洞复现】大华智慧园区综合管理平台video文件上传漏洞

Nx01 产品简介 大华智慧园区综合管理平台是一款综合管理平台,具备园区运营、资源调配和智能服务等功能。该平台旨在协助优化园区资源分配,满足多元化的管理需求,同时通过提供智能服务,增强使用体验。 Nx02 漏洞描述 大华智慧园区…

【基础知识】DDPM中的解码器部分“L0“解释以及概率密度函数的解释

1. 前言 看了很多关于DDPM的博客,都对原文中以上公式的 L 0 L_0 L0​没有涉及或者直接说将 L t − 1 L_{t-1} Lt−1​和 L 0 L_0 L0​合并起来讲,这样使得我对这段很困惑。所以,这篇博客我们主要来讲这个解码器 L 0 L_0 L0​部分。 在此&…

Python 报错 Syntax Error: Non-UTF-8 code starting with b‘\xc4‘

运行代码: import osprint(hello) print(r你好)解决办法: # -*- coding:utf-8 -*-import osprint(hello) print(r你好)参考: https://www.cnblogs.com/jopny/p/15592689.html

443.压缩字符串

题目:给你一个字符数组 chars ,请使用下述算法压缩: 从一个空字符串 s 开始。对于 chars 中的每组 连续重复字符 : 如果这一组长度为 1 ,则将字符追加到 s 中。否则,需要向 s 追加字符,后跟这…

组态软件与西门子S7系列PLC及三菱PLC间的无线通信测试

组态软件与西门子S7系列PLC及三菱PLC间的无线通信测试需要用到以下设备: l 西门子PLC型号:S7-200Smart 2台 l 三菱PLC型号:FX5U 2台 l 上位机:力控V7.1 1台 l 无线通讯终端(网口版)——DTD418MB 3块…

1688商品详情数据采集(商品属性,规格,价格,详情图等)

京东商品详情数据采集是一个复杂但重要的过程,它涉及获取商品的详细信息,包括商品属性、规格、价格以及详情图等。以下是关于如何进行京东商品详情数据采集的基本步骤: 确定采集目标:首先,你需要明确需要采集的商品信…

Python使用openpyxl库或pandas库创建.xlsx格式的Excel文件,并向文件不同的sheet按行或按列写入内容

import openpyxl# 创建-一个Workbook对象 wb openpyxl.Workbook()# 创建多个工作表 sheet1 wb.active sheet1.title "s1"sheet2 wb.create_sheet("s2")# 在不同的工作表中写入数据 sheet1["A1"] Data for Sheet1 sheet1["A2"] D…

一键美化ppt的ai工具有哪些?推荐5款自动生成PPT的ai软件!

伴随着 ai 人工智能技术的发展,作为普通个体的我们,也有机会享受到技术发展带来的红利,比如用 ai 来润色文章,用 ai 来美化 ppt 演示文稿,用 ai 辅助进行数据分析等等,ai 的应用场景多种多样,使…

福利来啦!运维必备神器 90天超长试用!

如何提升客户服务体验,提高企业核心竞争力?福利来啦! LinkSLA智能运维管家提供90天超长试用,体验全方位服务管理能力与SaaS服务模式,低成本、易部署、灵活开发的智能运维管理平台,智能工单系统、可视化报表…

运行springboot项目提示:java: 错误: 不支持发行版本 18、java: 错误: 无效的源发行版:18

java: 错误: 不支持发行版本 18 解决方法:修改字节码版本,可以多试几次。 java: 错误: 无效的源发行版:18 解决方法: 出现这些错误原因: spring版本与jdk版本不对应 我的spring boot版本是3.2.2,对应的j…