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到需要安装的目录,解压控制台安装文件。

tar -zvxf TongHttpServer_Manager_6.0.1.0_x86_64.tar.gz

解压后得到这个目录

在这里插入图片描述

cd到该目录,执行指令

./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目录,执行以下指令:

./startManager.sh init

执行后如下图所示:
在这里插入图片描述
请注意,一旦输入yes,控制台的数据库将会初始化(包括登录密码),慎重执行该指令!

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

在这里插入图片描述

启动和访问ths管控台

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

./startManager.sh start 

在这里插入图片描述
出现下图即为启动成功:
在这里插入图片描述
备注:

关闭指令为

./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节点的安装包,解压即可。

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后面的:符号是有一个空格的):

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目录,分别执行以下指令

./start.sh
./startHA.sh
./startAgent.sh

在这里插入图片描述

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

./start.sh stop
./startHA.sh stop
./startAgent.sh stop

回到控制台,点击节点管理,点击上方的更新按钮,可以看到获取到的节点信息。
在这里插入图片描述
同理,如果是设置了分组的,点击分组管理,点击右上方的刷新,也能更新分组信息。
在这里插入图片描述

5.加入分组

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

如下图所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果遇到类似于“数据已存在”的提示,请关掉新建的ths节点,到配置文件里配置分组:
在这里插入图片描述

instance_group: 分组名

在这里插入图片描述

6.测试THS节点

浏览器输入节点所在ip:8080
在这里插入图片描述

7.单节点修改配置文件

如果习惯了nginx的配置形式,那推荐使用节点管理器的编辑配置按钮功能:
在这里插入图片描述

点击后跟nginx的配置文件一样进行配置即可:
在这里插入图片描述

里面有常用配置参考:
在这里插入图片描述
在这里插入图片描述
并且有语法检测,将鼠标悬浮在对应配置上即可显示:
在这里插入图片描述
也有备份功能,可以点击保存后,点击发布,在发布的时候设置备份名:
在这里插入图片描述
发布后会有成功或者失败提示:
在这里插入图片描述
也可以切换回备份:
在这里插入图片描述

8.分组修改配置文件

分组和单节点修改配置文件一样,区别只是操作按钮和板块不同:
在这里插入图片描述

在这里插入图片描述

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

本次测试使用配置如下:
1.两个应用,下面是应用的ip和访问结果
在这里插入图片描述
在这里插入图片描述

2.浮动ip:192.168.10.152
3.两个ths节点:
在这里插入图片描述

进入到分组的编辑页面:
在这里插入图片描述
在35行下面加入以下配置:

 upstream thscluster {
        server 192.168.10.52:9200;
        server 192.168.10.51:9200;
    }

在这里插入图片描述
112行配置以下信息

    server {
        server_name localhost_9099;
        listen 9099;
        
        location / {
            proxy_pass http://thscluster;
        }
    }

在这里插入图片描述

保存并发布,之后访问:
在这里插入图片描述

10.问题收集汇总

怎么配置日志切割

参考nginx日志切割配置

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

切割脚本:

#!/bin/bash
# 日志文件路径,请配置成自己的
LOG_PATH="/usr/local/nginx/logs"
RECORD_TIME=$(date -d "today" +%Y-%m-%d)
#这里请参考THS的httpserver.conf里的PID设置进行配置
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

定时任务常用指令参考:

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

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

crontab -e
# 每天凌晨23:59进行日志切片
59 23 * * * /usr/local/nginx/sbin/cut_log.sh
systemctl restart crond

怎么配置ssl证书

首先,正式的ssl需要购买找第三方机构(一般是.crt和.key结尾的文件)。
购买后,可以在THS的crt目录下新建一个目录common_cert。

然后在控制台的分组管理或者节点管理的编辑配置里添加以下配置(去掉#,一般配在server层下):
在这里插入图片描述
在这里插入图片描述

PID修改路径之后使用不了reload

THS的httpserver.conf有关于PID的路径配置:
在这里插入图片描述
但是如果只是修改这一处,会导致使用说明reload的指令的时候报错:
在这里插入图片描述
原因:
启动脚本也有pid相关设置,需要手动修改:
在这里插入图片描述
国密证书配置后访问不了

配置如下图所示:
在这里插入图片描述
解决方案:
1.只需要配置ECC-SM2-WITH-SM4-SM3,其余的不用。
2.使用国密浏览器。
3.清除历史访问记录。

在控制台的编辑配置里使用了include语法,配置多个conf,发现不生效

一般include语法配置多个conf,都会把conf放到某个目录下,建议该目录和conf文件都在控制台上新增和配置,不然可能会出现识别不到的情况。

在这里插入图片描述

在这里插入图片描述

静态资源没有权限

namei -m 静态资源的路径后得到的结果:
在这里插入图片描述
报错信息:
在这里插入图片描述
原因:
THS 静态文件的权限目录需要 “755” 权限,文件需要 “644” 权限。

解决方案(排查和赋权的参考过程,与上图的路径有点不一样):

  1. 执行如下命令,查看 httpserver worker 进程的用户。
    ps -ef | grep httpserver
    回显信息,如下所示。
    root@dest:/opt/THS/html# ps -ef | grep httpserver
    root 285046 1 0 14:12 ? 00:00:00 httpserver: master process /opt/THS/bin/httpserver -p /opt/THS
    -c /opt/THS/conf/httpserver.conf
    www 285047 285046 0 14:12 ? 00:00:00 httpserver: worker process
    www 285048 285046 0 14:12 ? 00:00:00 httpserver: worker process
    www 285049 285046 0 14:12 ? 00:00:00 httpserver: worker process
    www 285050 285046 0 14:12 ? 00:00:00 httpserver: worker process

说明:
以上示例 master 进程以 root 用户执行,worker 进程以 www 用户运行。
2. 执行如下命令,查看目录链权限。
namei -m /opt/THS/html/www/index.html
回显信息,如下所示。
root@donny:/opt/THS/html/www# namei -m /opt/THS/html/www/index.html
f: /opt/THS/html/www/index.html
drwxr-xr-x /
drwxr-xr-x opt
drwx------ THS
drwxr-xr-x html
drwx------ www
-rw------- index.html
说明:
以上示例中存在三处权限不对:
◦ THS 目录的访问权限为 “700”,需要 “755” 权限;
◦ www 目录的权限为 “700”,需要 “755” 权限;
◦ index.html 权限为 “600”,需要 “644”。
3. 修改 THS 目录及静态文件权限。
◦ 执行如下命令,修改 THS 目录权限
由于 THS 同级目录可能存在其他文件夹,为避免影响其他文件夹的权限,请单独修改。
root@dest:/opt/THS/html/www# cd /opt/
root@dest:/opt# chmod 755 THS
◦ 执行如下命令,修改 THS 静态应用部署文件权限
由于静态应用存在多个文件夹及多个文件,单独修改很耗时,可以使用以下命令进行修改。

目录权限修改:
root@dest:/opt/THS/html# chmod 755 $(find . -type d)
文件权限修改:
root@dest:/opt/THS/html# chmod 644 $(find . -type f)

  • 26
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值