第一次接触东方通THS(TongHttpServer)时,我完全被它强大的企业级功能吸引了。作为国产中间件的代表产品,THS在金融、政务等领域有着广泛应用。下面我就从最基础的安装部署开始,带大家一步步搭建起可用的THS服务。
THS的安装包需要联系官方销售获取,目前最新版本是THS 8.0。我建议直接要x86_64架构的Linux版本,文件通常命名为TongHttpServer_8.0_x86_64.tar.gz。同时别忘了申请license.dat授权文件,这个文件决定了THS能运行多久。试用版一般是90天有效期,足够我们做完整测试了。
提示:授权文件有两种存放位置,放在THS目录内优先级更高,建议统一管理
在开始安装前,我们需要确保服务器满足以下条件:
我习惯先用以下命令检查系统环境:
bash复制# 查看系统版本
cat /etc/redhat-release
# 查看内存
free -h
# 查看磁盘
df -h
通过scp或sftp工具将安装包上传到服务器后,执行解压命令:
bash复制tar -zxvf TongHttpServer_8.0_x86_64.tar.gz
解压后会生成THS目录,这就是THS的核心程序目录。我第一次安装时犯了个错误,把解压后的文件放在了/home目录下,后来发现最好放在/opt这样的标准软件安装目录。
把license.dat文件放到THS目录内,然后验证授权信息:
bash复制cd THS/bin
./start.sh -l
这个命令会显示授权详情,包括有效期、授权项目等信息。我遇到过授权文件格式错误的情况,这时候命令会报错"Invalid license file",需要重新获取正确的授权文件。
THS有三个主要的启动脚本:
bash复制# 启动主服务
./start.sh
# 启动高可用组件
./startHA.sh
# 启动控制台
./startConsole.sh -i 内网IP -p 8000
建议按这个顺序启动服务。控制台的监听地址最好指定为内网IP,不要用0.0.0.0,这样更安全。
启动后可以用ps命令检查进程:
bash复制ps -ef | grep TongHttpServer
正常情况下应该能看到3个java进程。我第一次启动时发现只有2个,后来发现是HA组件没启动成功,原因是服务器内存不足。
THS的高可用采用主备模式,通过心跳检测实现故障自动切换。配置时需要至少两台服务器,我建议用三台组成集群更可靠。关键配置参数包括:
首先编辑HA配置文件:
bash复制vi THS/conf/ha.properties
主要配置项:
code复制# 集群节点IP列表
cluster.nodes=192.168.1.101,192.168.1.102
# 虚拟IP
virtual.ip=192.168.1.100
# 心跳端口
heartbeat.port=9000
配置完成后,需要在所有节点上启动HA服务:
bash复制./startHA.sh
默认的管理控制台账号密码太简单,必须第一时间修改:
我强烈建议配置防火墙规则,只允许特定IP访问控制台端口。比如:
bash复制iptables -A INPUT -p tcp --dport 8000 -s 运维服务器IP -j ACCEPT
iptables -A INPUT -p tcp --dport 8000 -j DROP
同时可以修改控制台监听端口,不要用默认的8000端口。
如果start.sh执行后立即退出,可以查看日志:
bash复制tail -f THS/logs/ths.log
常见错误包括:
检查HA日志:
bash复制tail -f THS/logs/ha.log
需要确保:
我在实际部署中发现,时间不同步是导致HA故障的常见原因,建议配置NTP服务:
bash复制ntpdate ntp.aliyun.com
在THS/conf/server.xml中可以调整关键参数:
xml复制<Connector port="8080"
maxThreads="500"
minSpareThreads="50"
acceptCount="300"/>
根据业务量调整线程数,一般建议:
THS支持JMX监控,可以配合Zabbix等监控系统使用。关键监控指标包括:
配置方法:
bash复制JAVA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9010 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
经过多次实际部署,我发现THS的稳定性确实很出色,特别是在高可用配置完善的情况下,基本可以做到全年无故障运行。不过要特别注意授权文件的有效期,提前做好续期准备,避免服务中断。