首先下载源码
可以去官网:The Tengine Web Server
当前最新版地址:https://tengine.taobao.org/download/tengine-3.1.0.tar.gz
安装编译依赖
yum -y install gcc pcre-devel zlib-devel openssl-devel libxml2-devel \
libxslt-devel gd-devel GeoIP-devel yajl-devel jemalloc-devel \
libatomic_ops-devel luajit luajit-devel perl-devel perl-ExtUtils-Embed
解压
tar -xf tengine-3.1.0.tar.gz
#改名
mv tengine-3.1.0 tengine
编译安装
[root@localhost local]# cd tengine
[root@localhost tengine]# make && make install
在上级目录可以看到nginx的目录
[root@localhost tengine]# cd ..
[root@localhost local]# ls
bin etc games include lib lib64 libexec nginx sbin share src tengine tengine-3.1.0.tar.gz
进入nginx目录 启动服务器
./sbin/nginx
这是最基础的,没安装其他扩展,当然你有https访问的需求,需要使用SSL证书你可以添加一个openssl
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make && make install
可以看到和nginx的参数几乎是一样的
编译配置参数
Tengine 比开源版 Nginx 增加了一些编译配置参数。Tengine 增加的编译配置参数如下表所示。
编译配置参数 | 默认编译状态 | 参数说明 |
---|---|---|
--without-procs | 编译 | 不编译 Procs 模块 |
--without-http_ssl_module | 编译 | 不编译 HTTP SSL 支持模块 |
--without-http_stub_status_module | 编译 | 不编译运行状态模块 |
--without-http-upstream-rbtree | 编译 | 不使用红黑树(RBTree)方式进行上游服务器的查找 |
--with-http_lua_module | 不编译 | 编译 Lua 脚本模块 |
--with-stream_sni | 不编译 | 编译 TCP 代理时基于 SSL 的 SNI 支持 |
--with-jemalloc | 不编译 | 启用 jemalloc 内存管理 |
Tengine 集成的模块
Tengine 自带的模块都存储在源码目录的 modules 文件中,用户可根据需要通过编译配置参数 --add-module
进行选择。模块说明如下表所示。
模块文件夹名 | 模块说明 |
---|---|
mod_dubbo | 提供对与后端 Dubbo 服务体系对接的支持 |
ngx_backtrace_module | 该模块可用于在工作进程异常退出时转储 Nginx 的回溯信息,如在接收到某些信号(sigabr、sigbus、sigfpe、sigill、sigiot、sigsegv)时。它非常便于调试 |
ngx_debug_pool | 该模块可以提供 Nginx/Tengine 内存池占用内存的状态信息 |
ngx_debug_timer | 该模块可以提供 Nginx/Tengine 定时器的状态信息 |
ngx_http_concat_module | 类似于 Apache 中的 mod_concat 模块,用于将多个文件合并在一个响应报文中 |
ngx_http_footer_filter_module | 在请求的响应末尾输出一段内容 |
ngx_http_lua_module | Lua 脚本集成模块 |
ngx_http_proxy_connect_module | 提供对 HTTP 的 CONNECT 方法的支持 |
ngx_http_reqstat_module | 监控模块 |
ngx_http_slice_module | 文件切片模块 |
ngx_http_sysguard_module | 该模块监控内存(含 SWAP 分区)、CPU 和请求的响应时间,当某些监控指标达到设定的阈值时,跳转到指定的 URL |
ngx_http_tfs_module | 该模块实现了 TFS 的客户端,为 TFS 提供了 RESTful API。TFS 的全称是 Taobao File System,是淘宝的一个开源分布式文件系统 |
ngx_http_trim_filter_module | 该模块用于删除 HTML、内嵌在 JavaScript 和 CSS 中的注释以及重复的空白符 |
ngx_http_upstream_check_module | 该模块可以为 Tengine 提供主动式后端服务器健康检查功能 |
ngx_http_upstream_consistent_hash_module | 该模块提供一致性 hash 作为负载均衡算法 |
ngx_http_upstream_dynamic_module | 此模块可在运行时动态解析 upstream 中 Server 域名 |
ngx_http_upstream_dyups_module | upstream 动态修改模块 |
ngx_http_upstream_session_sticky_module | 该模块是一个负载均衡模块,通过 cookie 实现客户端与后端服务器的会话保持,在一定条件下可以保证同一个客户端访问的是同一个后端服务器 |
ngx_http_upstream_vnswrr_module | 该模块是一个高效的负载均衡算法,同 Nginx 官方的加权轮询算法 SWRR 相比,VNSWRR 具备平滑、散列和高性能特征 |
ngx_http_user_agent_module | 该模块可以分析 HTTP 消息头属性字段"User-Agent"中的内容 |
ngx_multi_upstream_module | Dubbo 服务的多路复用连接支持模块 |
ngx_slab_stat | 该模块可以提供 Nginx/Tengine 共享内存的状态信息 |
上述模块功能说明来源于源码中的说明文档,具体使用方法可参照源码中的说明文档。