TongHttpServer
TongHttpServer V6.0 (THS)是一款轻量级负载均衡软件,支持 OSI 四层七层负载均衡,采用多进程异步编程,具有占用系统资源少、性能高、支持并发数高、配置简单等优点。常用于配置 HTTP 静态资源服务器、正向代理服务器、反向代理服务器、负载均衡服务器。支持带权轮询、IP哈希、最小连接、随机、哈希等多种负载均衡算法,满足企业构建高可用、高扩展性、高性能的应用服务集群需求。
TongHttpServer 集中管理控制台(THSManager)支持对不同环境的多个 THS 节点进行配置、监控,支持将多个 THS 节点进行分组,同一分组中的 THS 配置相同,可通过 THSManager 统一下发,简化运维流程,提供专业的编辑界面,对 THS 配置指令进行提示、补全、纠错,支持 SSL 证书上传并下发到各个 THS 节点,支持通过 webshell 方式远程维护。
TongHttpServer 中代理配置文件的语法与 Nginx 基本相似及兼容。通常默认使用 Nginx 作为反向代理服务器,充分考虑到国产化要求,可以选择使用 TongHttpServer 来替代 Nginx。
TongHttpServer 功能
产品架构
产品设计采用模块化设计,分为高可用模块、管理服务模块、主程序模块,高可用模块用于防止主程序模块发生单点故障,管理模块用于配置管理系统。反向代理、负载均衡由主程序模块完成,该模块使用Master-Worker设计,管理进程实时监控工作进程是否异常,工作进程处理具体业务,该设计除了能充分利用服务器资源提升并发能力外,还能提升主程序的稳定性。
系统版本信息
[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
tar -zxvf TongHttpServer_6.0.1.1_x86_64.tar.gz -C /opt/TongHttpServer/
license授权
license.dat授权文件上传THS安装目录中即可
[root@localhost THS]# ls
bin conf crts html libs license.dat logs lualib modules temp tools
2、创建用户修改文件属主属组
创建httpserver用户组
useradd -r -s /sbin/nologin httpserver
修改目录属组
chown -R httpserver:httpserver /opt/TongHttpServer/THS/
修改httpserver.conf 主配置文件用户和组配置
user httpserver httpserver;
3、启动TongHttpServer
启动主程序
[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
查看程序进程状态
ps -ef |grep httpserver
4、停止TongHttpServer
停止主程序
[root@localhost THS]# /opt/TongHttpServer/THS/bin/start.sh stop
httpserver stop success
5、查看授权信息
在THS/bin目录下,查看license信息
[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------------------
------------------------------------------------
查看详细信息
[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、热加载和重启
重启服务
[root@localhost THS]# /opt/TongHttpServer/THS/bin/start.sh restart
httpserver is running
热加载配置
[root@localhost THS]# /opt/TongHttpServer/THS/bin/start.sh reload
httpserver reload success
7、主配置文件
/opt/TongHttpServer/THS/conf/httpserver.conf
8、访问测试
http://ip:8080
9、作用域介绍
主程序配置文件根据逻辑意义不同,分成不同的作用域,不同作用域含有不同的配置项,main 作用域无大括号,其他作用域都由作用域名加大括号标识,配置可以在多个作用域中有效,如 access_log 在 http、server、location 作用域都有效。
THSManager 集中管理平台安装
1、安装
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. 执行如下命令,初始化数据库。
./startManager.sh init
3. 输入 “yes”,待程序执行完成后,数据库及数据表初始化完成。
3、THSManager 服务启停
启停 THSManager
[root@localhost /]# /opt/TongHttpServer/THSManager/bin/startManager.sh start
ths-manager is running
重启THSManager
[root@localhost /]# /opt/TongHttpServer/THSManager/bin/startManager.sh reload
ths-manager reload success
停止THSManager
[root@localhost /]# /opt/TongHttpServer/THSManager/bin/startManager.sh stop
ths-manager reload success
4、登录 THSManager 集中管控台
在浏览器访问 THSManager 登录页面
http://<THSManagerIP>:<Port>
默认使用 “http” 访问 THSManager 集中管控制台;若已配置 HTTPS,则使用 “https”。
用户可根据需要打开 “${THSManager.home}/config/http.yaml” 文件,进行修改。http.yaml 为 THSManager 主配置文件,具有防篡改限制。若需要修改并使其生效,修改后需要重启THSManager。
THSManager集中管理平台节点管理
TongHttpServer 节点启动主程序和Agent后TongHttpServer节点自动注册到集中管理平台,可以通过THSManager平台批量部署以及管理TongHttpServer节点。
启动Agent
[root@localhost ~]# /opt/TongHttpServer/THS/bin/startAgent.sh start
ths-agent is running
查看启动状态
主程序和 Agent 启动成功后,在 THSManager 集中管控台可查看 THS 节点