Tonghttpserver6.0.1.0部署指引优化版+基本操作指引+部分问题收集持续更新(by lqw)

文章目录

1.准备工作

输入lscpu,确认cpu架构:

根据cpu架构选择对应的安装包(圈起来的是x86的,另外两个是aarch64的):

2.安装jdk,检查并配置jdk环境变量(这个自行百度,一般麒麟v10和国创的系统已经自带openjdk了,可以不用安装,但是要配置jdk环境变量)。

3.关闭防火墙,或者放行8080(待会测试用),8000,49150,49151端口,以及应用使用的端口。

4.问销售拿授权文件(一般是license.dat)。

2.控制台安装

控制台主要是为了方便可视化使用的,本文之后的很多操作都跟控制台有关,所以建议安装控制台。

解压和设置crt

cd到需要安装的目录,解压控制台安装文件。

powershell 复制代码
tar -zvxf TongHttpServer_Manager_6.0.1.0_x86_64.tar.gz

解压后得到这个目录

cd到该目录,执行指令

powershell 复制代码
./gencert.sh

输入服务器ip,然后回车

这一步输入错误的话,请ctrl+c或者ctrl+z停止,重新执行。

输入自己能记得的四位以上小写字母然后回车

再输入一次同样的字母,回车

同理

同理

如果失败说明可能输入的小写字母有误或者带了其他识别不到的字符串,可以再执行 ./gencert.sh进行操作。

成功后如下图所示,可cd到THSManager下的ctrs目录去检查是否生成证书(请复制一下ctrs文件夹里的两个文件路径,后面会用到。)

配置http.yaml

Cd到安装目录下的conf目录,找到http.yaml,配置如下图:

◦ host:配置为 THSManager 服务器 IP 地址。

◦ port:配置为 THSManager 集中管控台的访问端口,默认为 "8000"。

◦ domain:配置为 THSManager 集中管控台的地址,配置方式为 "http://:"。

该域名将用于生成 THS 安装包的下载链接。若不配置,则会影响 webshell,导致安装包无法下载。

◦ prefix_url:THSManager 集中管控台访问的 URL 前缀

配置grpc.yaml

配置后,cd到安装目录下的conf目录,找到grpc.yaml,配置如下图:

其中part建议使用默认的49150,请记住这个数字,到时配置ths节点的时候需要检查是否一致,否则控制台无法识别到ths节点信息。

参数说明,如下所示。

◦ host:配置为 gRPC 服务的 IP 地址,即 THSManager 服务器的 IP 地址。

◦ port:配置为 gRPC 服务的端口,默认为 "49150"。

用户可自定义 gRPC 的端口,但必须与安装 THS 时配置的 gRPC 端口保持一致。

初始化数据库

cd到安装目录下的bin目录,执行以下指令:

powershell 复制代码
./startManager.sh init

执行后如下图所示:

请注意,一旦输入yes,控制台的数据库将会初始化(包括登录密码),慎重执行该指令!

输入yes,看到下图提示,就是初始化成功了。

启动和访问ths管控台

cd到安装目录的bin目录下,执行以下指令:

powershell 复制代码
./startManager.sh start 

出现下图即为启动成功:

备注:

关闭指令为

powershell 复制代码
./startManager.sh stop 

如果启动失败,请检查执行指令后的提示,或者cd到安装目录下的logs目录,查看里面的日志文件:


查看日志指令(输入ctrl+c停止观看滚动日志):

cd到安装目录的logs目录,输入tail -f 日志文件名进行查看。

启动成功后通过网页访问控制台:

Url:https//服务器ip地址:端口号(默认8000)/admin

账号:admin

密码:Ths#123.com

备注:

url的端口号和admin是在配置http.yaml一节里配置的,请根据配置文件当时填写的信息来修改。

初次登录,可能会有这个提示

点击高级,点击继续访问即可:

首次登录需要设置新密码

如果設置了密碼,結果发现自己输错了,那只能关闭ths,然后参考数据库初始化一节,初始话数据库。

设置密码后,重新登录,找到这里,上传一下你的授权文件:

上传后点击确定,即可更新授权信息。

如果上传后授权识别不了,或者已经过期,请联系对接的商务。

上传安装包

安装ths节点前,得要先上传安装包。

点击左侧菜单栏里的包列表,点击新增:

填写相关信息(可以按照我的,便于记忆,也可以自己命名),选择cpu架构,上传对应cpu架构的ths安装包。


之后如果需要从服务器下载这个安装包,可以复制这个指令:

3.新增分組管理

如果你是需要多个ths节点的,后面要配反向代理的,这一步请不要跳过,如果只是需要单个节点的,可以先跳过这一步。

新建分组后,如果单个节点加入到分组,之前配置的文件会统一到同一个http.conf里,所以单个节点加入前,如果已经做了配置的,请一定做好配置的备份!

点击实例管理下的分组管理,点击新增:

填写好分组名和备注,点确认(尽量不要用中文)

确定后,上传授权文件

复制这个指令到控制台所在服务器执行:

第一个回车

第二个输入no,回车

这样在/opt下面就会生成一个THS目录,相当于新建一个节点的同时还设置了分组:

这个THS目录的conf目录下有一个agent-dynamic.conf文件,红色圈起来的地方就是分组的参数:

如果复制指令后发现执行错误,也可以在之后新建节点的时候配进去,这个在之后的加入分组的一节会说明。

4.新增节点

自动安装(如果自动安装失败,可参考下一部分的手动安装)

推荐使用自动安装功能,当然也可以使用手动安装。

点击实例管理的节点管理,点击新增:

填写好名称,服务器ip,选择安装包,点确定。

复制这里,到服务器命令行页面执行

跟新建分组时一样,第一步直接回车,第二步输入no

同样,也会在/opt下生成THS目录。

手动安装(自动安装成功的请忽略这一步)

在/opt目录里放入THS节点的安装包,解压即可。

powershell 复制代码
tar -zvxf TongHttpServer_6.0.1.0_x86_64.tar.gz

备注:

x86的架构使用x86,aarch64的请使用aarch64

配置THS节点

将授权放入到THS安装目录下:

Cd到THS安装目录下conf目录,找到agent-dynamic.conf:

检查一下(自动安装的一般这里不需要配,手动安装的需要配置host为控制台ip,grpcport建议使用49150,除非在配置控制台的grpc相关配置文件的时候,你把这个端口给改了)

如果想要让这个节点加入分组,在最底下加入一行(无论分组有没有在上一步创建都可以,已经创建的使用创建的名字,没有创建的就自己起一个英文名,记住group后面的:符号是有一个空格的):

powershell 复制代码
instance_group: 分组名

配置THS节点HA高可用(不需要的话可以跳过这一步)

高可用需要至少两个THS节点,并且要有一个浮动ip,本次案例使用192.168.10.152作为浮动ip。

首先是master主节点,输入ip a确认网卡信息

cd到THS的安装目录的conf目录,找到httpseverHA.conf文件,如下图进行配置

另一个节点同理,只需要把MASTER改成BACKUP,89改成90即可。

启动THS节点

cd到THS节点的安装目录的bin目录,分别执行以下指令

powershell 复制代码
./start.sh
powershell 复制代码
./startHA.sh
powershell 复制代码
./startAgent.sh

如果要停止,执行以下指令:

powershell 复制代码
./start.sh stop
powershell 复制代码
./startHA.sh stop
powershell 复制代码
./startAgent.sh stop

回到控制台,点击节点管理,点击上方的更新按钮,可以看到获取到的节点信息。

同理,如果是设置了分组的,点击分组管理,点击右上方的刷新,也能更新分组信息。

5.加入分组

如果是后面新建的节点可以在控制台页面加入分组,否则可以跳过这一步。

如下图所示:


如果遇到类似于"数据已存在"的提示,请关掉新建的ths节点,到配置文件里配置分组:

powershell 复制代码
instance_group: 分组名

6.测试THS节点

浏览器输入节点所在ip:8080

7.单节点修改配置文件

如果习惯了nginx的配置形式,那推荐使用节点管理器的编辑配置按钮功能:

点击后跟nginx的配置文件一样进行配置即可:

里面有常用配置参考:

并且有语法检测,将鼠标悬浮在对应配置上即可显示:

也有备份功能,可以点击保存后,点击发布,在发布的时候设置备份名:

发布后会有成功或者失败提示:

也可以切换回备份:

8.分组修改配置文件

分组和单节点修改配置文件一样,区别只是操作按钮和板块不同:

9.分组配置反向代理(仅供参考)

本次测试使用配置如下:

1.两个应用,下面是应用的ip和访问结果

2.浮动ip:192.168.10.152

3.两个ths节点:

进入到分组的编辑页面:

在35行下面加入以下配置:

powershell 复制代码
 upstream thscluster {
        server 192.168.10.52:9200;
        server 192.168.10.51:9200;
    }

112行配置以下信息

powershell 复制代码
    server {
        server_name localhost_9099;
        listen 9099;
        
        location / {
            proxy_pass http://thscluster;
        }
    }

保存并发布,之后访问:

10.问题收集汇总

怎么配置日志切割

参考nginx日志切割配置

原理:相当于设置了一个定时任务,定时切割日志。

切割脚本:

powershell 复制代码
#!/bin/bash
# 日志文件路径
LOG_PATH="/usr/local/nginx/logs"
RECORD_TIME=$(date -d "today" +%Y-%m-%d)
PID=/usr/local/nginx/logs/nginx.pid
mv ${LOG_PATH}/access.log ${LOG_PATH}/access.${RECORD_TIME}.log
mv ${LOG_PATH}/error.log ${LOG_PATH}/error.${RECORD_TIME}.log
kill -USR1 `cat $PID

定时任务常用指令参考:

powershell 复制代码
# 查看定时任务
crontab -l
# 编辑定时任务
crontab -e
# 启动定时任务
systemctl start crond
# 关闭定时任务
systemctl stop crond
# 重启定时任务
systemctl restart crond

把日志切片脚本加入定时任务:

powershell 复制代码
crontab -e
# 每天凌晨23:59进行日志切片
59 23 * * * /usr/local/nginx/sbin/cut_log.sh
systemctl restart crond
相关推荐
光芒再现dev14 分钟前
已解决,部署GPTSoVITS报错‘AsyncRequest‘ object has no attribute ‘_json_response_data‘
运维·python·gpt·语言模型·自然语言处理
为将者,自当识天晓地。17 分钟前
c++多线程
java·开发语言
daqinzl25 分钟前
java获取机器ip、mac
java·mac·ip
AndyFrank27 分钟前
mac crontab 不能使用问题简记
linux·运维·macos
激流丶40 分钟前
【Kafka 实战】如何解决Kafka Topic数量过多带来的性能问题?
java·大数据·kafka·topic
筱源源43 分钟前
Kafka-linux环境部署
linux·kafka
Themberfue44 分钟前
Java多线程详解⑤(全程干货!!!)线程安全问题 || 锁 || synchronized
java·开发语言·线程·多线程·synchronized·
让学习成为一种生活方式1 小时前
R包下载太慢安装中止的解决策略-R语言003
java·数据库·r语言
晨曦_子画1 小时前
编程语言之战:AI 之后的 Kotlin 与 Java
android·java·开发语言·人工智能·kotlin
成都古河云1 小时前
智慧场馆:安全、节能与智能化管理的未来
大数据·运维·人工智能·安全·智慧城市