Web服务器
Web服务器
Tengine
Tengine介绍
Tengine是由淘宝发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝,天猫,优酷,全球速卖通,Lazada,阿里云等得到了很好的检验。Tengine将向通用API网关方向持续演进和发展,在HTTP应用流量入口网关的基础上,逐步支持4/7层TLS,TCP,UDP和GRPC多协议路由能力,适配不同终端和不同应用,打造全场景通用网关,持续保持Tengine业界领先地位。
Tengine特性
- 继承Nginx-1.24.0的所有特性,兼容Nginx的配置;
- 支持域名,证书,路由的动态无损生效;
- 支持HTTP/3 (QUIC v1和draft-29);
- 支持bypass内核的用户态高性能UDP转发;
- 支持基于header,cookie,query和服务权重的高级路由动态无损生效;
- 支持基于高级路由的请求和响应流量染色动态无损生效;
- 支持配置分域名TLS多版本,timeout,强制HTTPS,CORS和robots的动态无损生效;
- 支持HTTP的CONNECT 方法,可用于正向代理场景;
- 增强相关运维监控能力,比如异步打印日志及回滚,本地DNS缓存,内存监控等;
- 流式上传到HTTP后端服务器或FastCGI服务器,大量减少机器的I/O压力;
- 支持异步OpenSSL,可使用硬件如:QAT进行HTTPS的加速与卸载;
- 更加强大的负载均衡能力,包括一致性hash模块,会话保持模块,还可以对后端的服务器进行主动健康检查,根据服务器状态自动上线下线,以及动态解析upstream中出现的域名;
Tengine安装
## 编译安装
# 安装依赖
yum install -y gcc pcre pcre-devel openssl openssl-devel
# 解压
tar zxf tengine-3.1.0.tar.gz
cd tengine-3.1.0
# Tengine默认将安装在/usr/local/nginx目录。你可以在configure中用'--prefix'来指定你想要的安装目录。
./configure
make
make install
Tengine配置
参考Nginx配置即可。
OpenResty
OpenResty介绍
OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。
OpenResty安装
示例在CentOS7
x86_64
架构服务器上,安装openresty-1.21.4.3
版本:
::: tabs
@tab 在线安装
在官方提供的 官方预编译安装方案 中,我们选择CentOS系统:
# 开始安装:
# 添加openresty仓库:
wget https://openresty.org/package/centos/openresty.repo
mv openresty.repo /etc/yum.repos.d/openresty.repo
# 更新yum索引:
yum check-update
# 安装openresty
yum install -y openresty
@tab 离线安装
使用离线rpm方式安装,需要先下载rpm包,下载地址,根据操作系统版本和架构,进入 centos/7/x86_64/
,需要下载的文件:
openresty-1.21.4.3-1.el7.x86_64.rpm
openresty-openssl111-1.1.1w-1.el7.x86_64.rpm
openresty-pcre-8.45-1.el7.x86_64.rpm
openresty-zlib-1.2.13-1.el7.x86_64.rpm
# 开始安装:
# 先上传所有文件到服务器(例如/root/openresty/目录)
cd /root/openresty/
# 执行安装
rpm -ivh *.rpm
:::
启动openresty服务及常用命令:
# 启动服务
systemctl start openresty
# 开机自启动
systemctl enable openresty
# 停止服务
systemctl stop openresty
# 重启服务
systemctl restart openresty
OpenResty配置和使用
OpenResty默认情况下的相关配置目录如下:
- 配置文件:/usr/local/openresty/nginx/conf/nginx.conf
- 配置修改后重新加载命令:openresty -s reload
具体的配置和使用方式和Nginx类似,请参考Nginx即可。
TongHttpServer
TongHttpServer介绍
东方通TongHttpServer是一款高性能的服务代理中间件,支持OSI四层七层协议,可作为静态资源服务器、正向代理服务器、反向代理服务器、负载均衡服务器使用,支持带权轮询、IP哈希、最小连接、随机、哈希等多种负载均衡算法,满足企业构建高可用、高扩展性、高性能的应用服务集群需求。
产品优势
- 运维便捷:提供可视化的管理控制台,对服务器资源消耗、集群并发情况一目了然。
- 高安全性:支持国际https、国密https加密传输数据,防止数据在传输过程中被恶意窃听、篡改。
- 高可靠性:通过IP漂移、VRRP协议支持主备切换,防止自身单点故障导致集群不可用。
- 高性能:采用零拷贝、多进程、缓存等技术,有效提高服务器性能,支持上万连接同时接入。
产品亮点
- 平滑升级配置:修改完配置后无需重启,通过热加载命令完成配置升级,不中断正常业务。
- 实时统计:基于内存实时统计集群/节点并发、流量、每秒请求数等,通过接口输出,便于集成。
- https自适应:在同一端口同时支持国密https、国际https,根据客户端请求进行自动切换。
产品功能
- 负载均衡:提供带权轮询、IP哈希、最小连接、随机、哈希等多种负载均衡算法,根据配置的策略将请求分发到后端应用服务器节点。
- 动静分离:提供基于正则的URI路由匹配,可实现将动态请求转发到应用服务器、静态资源不转发,实现动静分离,有效提高集群吞吐率。
- 反向代理:根据不同的URI将请求反向代理到不同应用服务器或不同的应用服务器集群,对客户端隐藏后端应用服务器信息。
TongHttpServer架构
产品设计采用模块化设计,分为高可用模块、管理服务模块、主程序模块,高可用模块用于防止主程序模块发生单点故障,管理模块用于配置管理系统。反向代理、负载均衡由主程序模块完成,该模块使用Master-Worker设计,管理进程实时监控工作进程是否异常,工作进程处理具体业务,该设计除了能充分利用服务器资源提升并发能力外,还能提升主程序的稳定性。
TongHttpServer安装配置
获取安装包
从东方通支持人员获取安装包、试用License等。