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

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

时间:2023-05-28 10:14:23浏览次数:51  
标签: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 端口:

2.4、停止及重启

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

 

 

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

标签:http,入门,--,module,Nginx,tengine,Tengine
From: https://www.cnblogs.com/wuyongyin/p/17358961.html

相关文章

  • pagintaion
    ```"""自定义的分页组件"""fromdjango.utils.safestringimportmark_safeclassPagination(object):def__init__(self,request,queryset,page_size=10,page_param="page",page_show=5):"""......
  • python自学笔记
    变量类型:整型int,字符串str,浮点型float;算术运算:+、-、*、/、%、**(乘方)、//(整除);逻辑运算:not、and、or;布尔类型:True、False;比较运算:>、>=、<、<=、==、!=;变量命名规则:字母+数字+下划线、区分大小写、数字不开头、不能用空格、不能用保留字;输入input()、输出print();字符串拼接:prin......
  • MongoDB基本操作记录
    MongoDB基本操作记录连接Mongo:mongo--host127.0.0.1--port27017-uroot-p123456显示数据库列表:showdbs选择数据库:useCX_tb显示所有表名:db.getCollectionNames()删表:db.xxx.drop()显示帮助:db.xxx.help()插入一条数据:db.xxx.insert({"id":"1","add_time":&q......
  • 从gitee上拉取django项目到Linux中
    1.从gitee拉取django项目: 2.安装虚拟环境: 3.创建虚拟环境: 4.进入虚拟环境: 5.安装项目模块: ......
  • 按选择的实体objectid来zoom时,发现一个很特别的实体dbtext
    dbtext取得其GeometricExtents时,发现ext特别大,暂时不知道什么原因,所以在程序中把文字去掉了。这一个东西测试了很长时间。publicstaticvoidZoomObjects(thisEditored,ObjectIdCollectionidCol){Documentdoc=AcadApp.DocumentManager.MdiActiveDocument;......
  • 1151 LCA in a Binary Tree
    题目:Thelowestcommonancestor(LCA)oftwonodesUandVinatreeisthedeepestnodethathasbothUandVasdescendants.Givenanytwonodesinabinarytree,youaresupposedtofindtheirLCA.InputSpecification:Eachinputfilecontainsonetest......
  • matlab中find函数失效的问题
    (52条消息)关于matlab中find函数失效的问题_matlabfind有时候找不到值_开飞机的小毛驴儿的博客-CSDN博客matlab中的find函数可以返回指定元素的位置,但是有时候会发现矩阵中明明存在一个数,但是返回位置却是空的,即找不到指定元素的位置。这时候需要考虑的是matlab的精度问题。如......
  • 【原创】浅谈EtherCAT主站EOE(上)-EOE网络
    版权声明:本文为本文为博主原创文章,转载请注明出处。如有问题,欢迎指正。博客地址:https://www.cnblogs.com/wsg1100/目录一、EoE二、EoE服务规范EtherCAT主站如何提供EoE服务?三、EoE网络EOE网络这篇文章的标题虽然是关于EtherCATEOE,但其实主要内容是关于整个EOE网络结构,属于计算......
  • 202305280952-《远程Linux服务器——安装tomcat8、jdk1.8、mysql5——mysql启动报错》
    在bash执行"systemctlstartmysqld"   提示:“Jobformysqld.servicefailedbecausethecontrolprocessexitedwitherrorcode.See"systemctlstatusmysqld.service"and"journalctl-xe"fordetails.”   /var/lib/mysql权......
  • ModuleNotFoundError: No module named 'requests' 解决方案
    ModuleNotFoundError:Nomodulenamed'requests'一般就是没导入库,可以在脚本当前目录下,运行一下代码:pipinstallrequest#同理,如果别的库缺漏,就把request替换掉我是在vscode里面跑的python,所以就用的powershell的那个命令框......