统信服务器操作系统V20 1070e 【东方通TongHttpServer部署】

TongHttpServer

TongHttpServer V6.0 (THS)是一款轻量级负载均衡软件,支持 OSI 四层七层负载均衡,采用多进程异步编程,具有占用系统资源少、性能高、支持并发数高、配置简单等优点。常用于配置 HTTP 静态资源服务器、正向代理服务器、反向代理服务器、负载均衡服务器。支持带权轮询、IP哈希、最小连接、随机、哈希等多种负载均衡算法,满足企业构建高可用、高扩展性、高性能的应用服务集群需求。

TongHttpServer 集中管理控制台(THSManager)支持对不同环境的多个 THS 节点进行配置、监控,支持将多个 THS 节点进行分组,同一分组中的 THS 配置相同,可通过 THSManager 统一下发,简化运维流程,提供专业的编辑界面,对 THS 配置指令进行提示、补全、纠错,支持 SSL 证书上传并下发到各个 THS 节点,支持通过 webshell 方式远程维护。

TongHttpServer 中代理配置文件的语法与 Nginx 基本相似及兼容。通常默认使用 Nginx 作为反向代理服务器,充分考虑到国产化要求,可以选择使用 TongHttpServer 来替代 Nginx。

TongHttpServer 功能

  • 负载均衡 提供带权轮询、IP哈希、最小连接、随机、哈希等多种负载均衡算法,根据配置的策略将请求分发到后端应用服务器节点。
  • 动静分离 提供基于正则的URI路由匹配,可实现将动态请求转发到应用服务器、静态资源不转发,实现动静分离,有效提高集群吞吐率。
  • 反向代理 根据不同的URI将请求反向代理到不同应用服务器或不同的应用服务器集群,对客户端隐藏后端应用服务器信息。
  • 高安全性 支持国际https、国密https加密传输数据,防止数据在传输过程中被恶意窃听、篡改。
  • 高可靠性 通过IP漂移、VRRP协议支持主备切换,防止自身单点故障导致集群不可用。
  • 高性能 采用零拷贝、多进程、缓存等技术,有效提高服务器性能,支持上万连接同时接入。

产品架构

产品设计采用模块化设计,分为高可用模块、管理服务模块、主程序模块,高可用模块用于防止主程序模块发生单点故障,管理模块用于配置管理系统。反向代理、负载均衡由主程序模块完成,该模块使用Master-Worker设计,管理进程实时监控工作进程是否异常,工作进程处理具体业务,该设计除了能充分利用服务器资源提升并发能力外,还能提升主程序的稳定性

系统版本信息

代码语言:javascript
复制
[root@localhost ~]# cat   /etc/os-release 
PRETTY_NAME="UOS Server 20"
NAME="UOS Server 20"
VERSION_ID="20"
VERSION="20"
ID=uos
HOME_URL="https://www.chinauos.com/"
BUG_REPORT_URL="https://bbs.chinauos.com/"
VERSION_CODENAME=fuyu
PLATFORM_ID="platform:uel20"
[root@localhost ~]# uosinfo 
#################################################
Release:  UOS Server release 20 (fuyu)
Kernel :  5.10.0-74.uel20.x86_64
Build  :  UOS Server 20 (1070e) 20240423 amd64
#################################################
[root@localhost ~]#

TongHttpServer安装启动停止及热加载

1、安装TongHttpServer

代码语言:javascript
复制
tar -zxvf TongHttpServer_6.0.1.1_x86_64.tar.gz -C /opt/TongHttpServer/

license授权

license.dat授权文件上传THS安装目录中即可

代码语言:javascript
复制
[root@localhost THS]# ls

bin conf crts html libs license.dat logs lualib modules temp tools

2、创建用户修改文件属主属组

创建httpserver用户组

代码语言:javascript
复制
useradd -r -s /sbin/nologin httpserver

修改目录属组

代码语言:javascript
复制
chown  -R  httpserver:httpserver /opt/TongHttpServer/THS/

修改httpserver.conf 主配置文件用户和组配置

代码语言:javascript
复制
user httpserver httpserver;

3、启动TongHttpServer

启动主程序

代码语言:javascript
复制
[root@localhost THS]# /opt/TongHttpServer/THS/bin/start.sh start
Software version: TongHttpServer/6.0.1.1
Build at Mar 20 2024 08:03:11
httpserver start success

查看程序进程状态

代码语言:javascript
复制
ps -ef |grep   httpserver

4、停止TongHttpServer

停止主程序

代码语言:javascript
复制
[root@localhost THS]# /opt/TongHttpServer/THS/bin/start.sh   stop
httpserver stop success

5、查看授权信息

在THS/bin目录下,查看license信息

代码语言:javascript
复制
[root@localhost THS]# /opt/TongHttpServer/THS/bin/start.sh -l

------------------License Info------------------
consumerName:
projectName:
productName:TongHttpServer
type:trial
versionNumber:6.0
expires:2024-09-18
------------------License Info------------------
------------------------------------------------

查看详细信息

代码语言:javascript
复制
[root@localhost THS]# /opt/TongHttpServer/THS/bin/start.sh -L

------------------License Info------------------
consumer_name=
project_name=
license_id=89910
license_type=trial
create_date=2024-06-18
end_date=2024-09-18
THS_Product_Name=TongHttpServer
THS_Version_Number=6.0
bindip=
TW_Hardware_Id=
TW_Max_Number=-1
THS_Admin_Console=1
THS_Edition=Standard
------------------License Info------------------
------------------------------------------------

6、热加载和重启

重启服务

代码语言:javascript
复制
[root@localhost THS]# /opt/TongHttpServer/THS/bin/start.sh   restart
httpserver is running

热加载配置

代码语言:javascript
复制
[root@localhost THS]# /opt/TongHttpServer/THS/bin/start.sh  reload
httpserver reload success

7、主配置文件

代码语言:javascript
复制
/opt/TongHttpServer/THS/conf/httpserver.conf

8、访问测试

http://ip:8080

9、作用域介绍

主程序配置文件根据逻辑意义不同,分成不同的作用域,不同作用域含有不同的配置项,main 作用域无大括号,其他作用域都由作用域名加大括号标识,配置可以在多个作用域中有效,如 access_log 在 http、server、location 作用域都有效。

  • main:与具体业务无关的配置,如进程数、运行用户,错误日志等,为配置文件中块外配置。
  • http:HTTP 服务相关的配置参数,如 gzip、keepalive、access_log 等。
  • stream:TCP、UDP 相关配置参数。
  • server:http、stream、mail 支持多个虚拟主机,每个虚拟主机对应一个 server 配置项。
  • upstream:http、stream 负载均衡集群相关配置。
  • location:http 服务中,特定的 URL 对应的配置项。
  • mail:email 相关配置项

THSManager 集中管理平台安装

1、安装

代码语言:javascript
复制
tar -zxvf TongHttpServer_Manager_6.0.1.1_x86_64.tar.gz -C /opt/TongHttpServer/

2、初始化数据库

THSManager 首次使用时,需要先初始化数据库,数据库默认使用 sqlite。若有 MySQL 环境,可以在 “THSManager/conf/db.yaml” 中修改数据库为 MySQL,然后再执行初始化数据库操作。

1. 进入 “THSManager/bin” 目录。

2. 执行如下命令,初始化数据库。

代码语言:javascript
复制
./startManager.sh init

3. 输入 “yes”,待程序执行完成后,数据库及数据表初始化完成。

3、THSManager 服务启停

启停 THSManager

代码语言:javascript
复制
[root@localhost /]# /opt/TongHttpServer/THSManager/bin/startManager.sh  start
ths-manager is running

重启THSManager

代码语言:javascript
复制
[root@localhost /]# /opt/TongHttpServer/THSManager/bin/startManager.sh   reload
ths-manager reload success

停止THSManager

代码语言:javascript
复制
[root@localhost /]# /opt/TongHttpServer/THSManager/bin/startManager.sh   stop
ths-manager reload success

4、登录 THSManager 集中管控台

在浏览器访问 THSManager 登录页面

http://<THSManagerIP>:<Port>

默认使用 “http” 访问 THSManager 集中管控制台;若已配置 HTTPS,则使用 “https”。

  • THSManagerIP:THSManager 服务器的 IP 地址。
  • Port:THSManager 集中管控制台端口,默认为 “8000”。

用户可根据需要打开 “${THSManager.home}/config/http.yaml” 文件,进行修改。http.yaml 为 THSManager 主配置文件,具有防篡改限制。若需要修改并使其生效,修改后需要重启THSManager。

THSManager集中管理平台节点管理

TongHttpServer 节点启动主程序和Agent后TongHttpServer节点自动注册到集中管理平台,可以通过THSManager平台批量部署以及管理TongHttpServer节点。

启动Agent

代码语言:javascript
复制
[root@localhost ~]# /opt/TongHttpServer/THS/bin/startAgent.sh   start
ths-agent is running

查看启动状态

主程序和 Agent 启动成功后,在 THSManager 集中管控台可查看 THS 节点