首页 > 其他分享 >Tengine 入门实战(1)--简介及安装

Tengine 入门实战(1)--简介及安装

时间:2023-06-03 19:03:57浏览次数:56  
标签:http 入门 -- module Nginx tengine Tengine

1、简介

Tengine 是由淘宝网发起的 Web 服务器项目。它在 Nginx 的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine 的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的 Web 平台。

Tengine 特性:

  • 继承 Nginx-1.18.0 的所有特性,兼容 Nginx 的配置;
  • 支持 HTTP 的 CONNECT 方法,可用于正向代理场景;
  • 支持异步 OpenSSL,可使用硬件如:QAT 进行 HTTPS 的加速与卸载;
  • 增强相关运维、监控能力,比如异步打印日志及回滚,本地 DNS 缓存,内存监控等;
  • Stream 模块支持 server_name 指令;
  • 更加强大的负载均衡能力,包括一致性 hash 模块、会话保持模块,还可以对后端的服务器进行主动健康检查,根据服务器状态自动上线下线,以及动态解析 upstream 中出现的域名;
  • 输入过滤器机制支持。通过使用这种机制 Web 应用防火墙的编写更为方便;
  • 支持设置 proxy、memcached、fastcgi、scgi、uwsgi 在后端失败时的重试次数;
  • 动态脚本语言 Lua 支持。扩展功能非常高效简单;
  • 支持按指定关键字(域名,url等)收集 Tengine 运行状态;
  • 组合多个 CSS、JavaScript 文件的访问请求变成一个请求;
  • 自动去除空白字符和注释从而减小页面的体积
  • 自动根据 CPU 数目设置进程个数和绑定 CPU 亲缘性;
  • 监控系统的负载和资源占用从而对系统进行保护;
  • 显示对运维人员更友好的出错信息,便于定位出错机器;;
  • 更强大的防攻击(访问速度限制)模块;
  • 更方便的命令行参数,如列出编译的模块列表、支持的指令等;
  • 支持 Dubbo 协议;
  • 可以根据访问文件类型设置过期时间;

Tengine 的最新版本为 2.3.3(基于 Nginx 1.8.0),发布日期为 2021-03-25,版本更新比较慢。

2、安装

Tengine 的安装与 Nginx 基本一致,这里所使用到的软件版本:tengine 2.3.3、pcre 8.43、opnessl 1.1.1s、zlib 1.2.11、CentOS 7.9.2009

2.1、下载源码

tengine 源码:http://tengine.taobao.org/download_cn.html
pcre 源码:http://www.pcre.org/
openssl 源码:https://www.openssl.org/source/
zlib 源码:http://www.zlib.net/

下载后解压:

tar zxvf tengine-2.3.3.tar.gz
unzip pcre-8.43.zip
tar zxvf openssl-1.1.1s.tar.gz
tar zxvf zlib-1.2.11.tar.gz

2.2、编译安装

cd tengine-2.3.3
./configure --prefix=/home/mongo/soft/tengine-2.3.3 --with-pcre=/home/mongo/installfile/pcre-8.43 --with-http_stub_status_module --with-http_ssl_module --with-openssl=/home/mongo/installfile/openssl-1.1.1s --with-zlib=/home/mongo/installfile/zlib-1.2.11 --with-mail --with-stream --add-module=modules/ngx_http_upstream_check_module
make
make install

--add-module=modules/ngx_http_upstream_check_module 表示添加 Tengine 扩展的主动式后端服务器健康检查模块,其他参数说明可参考:Nginx 入门实战(1)--简介及安装。

2.3、启动

Tengine 同 Nginx 一样默认配置了一个端口为 80 Http 服务器,使用普通用户启动需要修改该端口;编辑 conf/nginx.conf 文件:

http {
    include       mime.types;
    default_type  application/octet-stream;
    ...
    server {
        listen       8080;
        ...

执行启动命令:

sbin/nginx

启动后访问 8080 端口:

Tengine 入门实战(1)--简介及安装_WEB/应用服务器

2.4、停止及重启

sbin/nginx -s stop #停止
sbin/nginx -s reload #重启

 

 

参考:http://tengine.taobao.org/



标签:http,入门,--,module,Nginx,tengine,Tengine
From: https://blog.51cto.com/wuyongyin/6408356

相关文章

  • 用三色带摄像管替换电视机显像管的摄像机
    用三色带摄像管替换电视机显像管的摄像机常规彩色电视机通过RGB三个电子枪发射电子,通过聚焦荫罩型彩色显像管显示彩色电视图像,由于红黄绿色素在彩色显示管上面呈三角型排布,且距离小,密度大所以很难制造。下面介绍一种通过红绿蓝三种长条状色带构成的荧光粉层和光导层的摄像管。这个......
  • Java基础知识:面试官必问的问题
    数据类型基本类型byte/8char/16short/16int/32float/32long/64double/64boolean/~boolean只有两个值:true、false,可以使用1bit来存储,但是具体大小没有明确规定。JVM会在编译时期将boolean类型的数据转换为int,使用1来表示true,0表示false。JVM支持boolean......
  • 古老的RGB协议是什么?能否让比特币资产发行实现文艺复兴?
       这段时间,BRC-20彻底重燃了"在比特币上发行资产"的风潮,相信在众多平台、KOL的科普和解析下,大家多少对BRC-20都有所耳闻,甚至有人已经因此小赚两笔。   在比特币区块难出的情况下,BRC-20高频交易所产生的手续费重新为矿工们带来新的活力,BRC-20比特币代币的总市值已然超过了10......
  • m基于matlab的WLAN室内无线信道建模与仿真
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要室内无线信道是指室内对无线通信中发送端和接收端之间通路。室内无线信道与传统的无线信道相比,具有两个显著的特点:其一,室内覆盖面积小得多;其次,收发机间的传播环境变化更大。研究表明,影响室内传播的因素主要是建筑......
  • m移动通信系统中越区切换算法的matlab仿真,对比MASN,ASUR,OP
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要硬切换,就是强制切换,其最大的特点是:“先断后连”。在硬切换过程中,用户移动设备仅仅保持与一个基站链接,一旦切换操作被激活,其马上会切断原有的连接,然后再与新的基站建立连接。从一个基站切换到另个基站的过程中,通信......
  • c语言的几个陷阱和代码例子
    数组越界:intarr[3]={1,2,3};arr[3]=4;//数组越界for(inti=0;i<=3;i++){printf("%d\n",arr[i]);//数组越界}在上述代码中,由于数组下标从0开始,arr[3]越界访问了数组最后一个元素的位置,此时程序可能会崩溃或者产生其他不确定的结果;另外在循环中因......
  • P5706 【深基2.例8】再分肥宅水
    【深基2.例8】再分肥宅水题目描述现在有$t$毫升肥宅快乐水,要均分给$n$名同学。每名同学需要$2$个杯子。现在想知道每名同学可以获得多少毫升饮料(严格精确到小数点后$3$位),以及一共需要多少个杯子。输入格式输入一个实数$t$和一个正整数$n$,使用空格隔开。输出格式......
  • Express
    概述Express是一个流行的Node.jsWeb应用程序框架,它简化了构建Web应用程序和API的过程,并提供了一系列简单而灵活的功能,使开发者能够快速构建可扩展的Web应用程序。Express框架建立在Node.js的HTTP模块之上,提供了一组用于处理HTTP请求和响应的中间件和路由系统。它使开发者能够定......
  • PM2 常用命令备忘单
    概述以下命令,基本涵盖了PM2的所有使用场景开始#分叉模式pm2startapp.js--namemy-api#给进程命名#集群模式pm2startapp.js-i0#根据可用CPU数量启动最大进程数,并使用负载均衡pm2startapp.js-imax#与上述相同,但已弃用pm2scaleapp+3#将app的......
  • nodejs守护进程 PM2
    概述PM2是用于Node.js应用程序的生产环境进程管理器,内置负载均衡器。它允许你将应用程序持续运行,无需停机重新加载,并简化常见的系统管理任务。官方网站Github特性进程管理:PM2可以启动、停止和重启Node.js应用程序进程,确保应用程序一直处于运行状态。它还提供了容错机制,......