当前位置: 首页 > news >正文

Tonghttpserver6.0.1.3 使用整理(by lqw)

文章目录

  • 1.声明
  • 2.关于单机版控制台和集中管理控制台
  • 3.单机版控制台
    • 3.1安装,启动和查看授权信息
    • 3.2一些常见的使用问题(单机控制台)
    • 3.3之前使用的是nginx,现在要配nginx.conf上的配置,在THS上如何配置
    • 3.4如何配置密码过期时间
    • 3.5关于高可用(单机版控制台)
    • 3.6重置密码
    • 3.7日志切割
  • 4.集中管理控制台
    • 安装和启动集中管控台
    • 通过集中管理安装THS节点
    • 手动安装并识别THS节点
    • 重置集中管理控制台密码
  • 5.手动部署(不使用控制台)
  • 6.容器版安装
    • 方式一:使用已有的镜像包
    • 方式二 使用k8s安装包里的脚本
      • 安装准备
      • 安装
  • 7.各种常用配置和用法(仅供参考)
    • 动静分离
    • 跨域
    • 配置https
    • 强转https
    • 传真实ip到后端
    • THS节点配置为普通用户启动(不包含控制台)
    • THS节点配置开机自启动

1.声明

本帖主要使用的是Tonghttpserver6.0.1.3,以及THSManager6.0.1.2(集中管理控制台)。实际以最新的产品手册为准。

2.关于单机版控制台和集中管理控制台

6013版本的每个THS的安装包里都自带了单机版控制台,如果只是使用单个THS节点,直接使用单机版控制台,如果要用多个THS节点并建立集群,建议使用集中管理控制台。

如果本身不允许使用web页面(也就是控制台的),也有手动部署环节。

之后的章节,会以单机版控制台和集中管理控制台的章节进行介绍,建议根据需求,在开始的安装环节选择好是用单机版控制台,集中管理控制台还是手动部署。

3.单机版控制台

3.1安装,启动和查看授权信息

首先确认cpu,确认是x86还是arrch64:

lscpu

在这里插入图片描述

x86的使用TongHttpServer_6.0.1.3_x86_64.tar.gz,arrch64的使用TongHttpServer_6.0.1.3_aarch64.tar.gz:

在这里插入图片描述

确认好安装包后,直接解压,例如:

tar -zvxf TongHttpServer_6.0.1.3_x86_64.tar.gz

解压后目录:
在这里插入图片描述

放入授权(找销售要)
在这里插入图片描述
cd 到bin目录,执行./start.sh -L,查看过期时间(临时授权一般三个月,永久为-1):

在这里插入图片描述

然后配置一下控制台(找到conf目录下的ths-console.conf):
在这里插入图片描述
在这里插入图片描述

确认没问题后,执行指令先启动单机版控制台:

./startConsole.sh 

在这里插入图片描述

检查防火墙和本地网络,以及进程和端口是否起来了(本次示范直接关闭了防火墙):

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述在这里插入图片描述

访问服务器ip:8000/admin,初始账号admin,初始密码Ths#123.com。

初次进入需要修改密码:
在这里插入图片描述

点击这里直接启动:
在这里插入图片描述

点击这里停止:
在这里插入图片描述

也可以自己通过执行脚本进行启动和停止:
在这里插入图片描述

[root@localhost bin]# ./start.sh
Software version: TongHttpServer/6.0.1.3
Build at Nov  25 2024 03:06:35
httpserver start success
[root@localhost bin]# ./start.sh stop
httpserver stop success

3.2一些常见的使用问题(单机控制台)

3.3之前使用的是nginx,现在要配nginx.conf上的配置,在THS上如何配置

实际配置文件在conf目录下,cat一下可以看到,这个httpserver.conf文件跟nginx.conf的配置语法很像:

在这里插入图片描述
在这里插入图片描述

如果使用单机版控制台的话,在这里可以编辑:
在这里插入图片描述

一些常见的配置可以点这里来看:

在这里插入图片描述

在这里插入图片描述

也可以备份和切换备份:
在这里插入图片描述

另外把鼠标放置在对应配置上,会有提示:

在这里插入图片描述

更多配置细节,可参考安装包里的002_TongHttpServer_V6.0监控配置手册_6013A01.pdf。

3.4如何配置密码过期时间

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.5关于高可用(单机版控制台)

一般高可用ha是搭配一主一从来使用的,这种情况下建议直接用集中管理控制台,尽量别用单机版控制台了。

其次可能会遇到这种提示:

在这里插入图片描述
这是因为控制台限制,只能用root操作,所以遇到这种提示,多数是因为文件权限和属主都是普通用户,并非报错。

3.6重置密码

如果没有忘记密码且可以通过控制台登录,则直接在控制台上操作:

在这里插入图片描述

也可以执行指令,例如:

./startConsole.sh -passwd=THS#123.com

在这里插入图片描述

3.7日志切割

在这里插入图片描述
找到这个脚本,把里面的路径改成自己的ths的logs目录:
在这里插入图片描述

定时任务常用指令参考:

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

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

crontab -e
# 每天凌晨23:59进行日志切片
59 23 * * * /opt/THS/tools/scripts/logrotate.sh
systemctl restart crond

4.集中管理控制台

安装和启动集中管控台

集中管理控制台目前用的是6.0.1.2版本,请根据lscpu查询结果确认使用哪个安装包

在这里插入图片描述
在这里插入图片描述

直接解压:
在这里插入图片描述

conf目录下配置一下grpc.yaml:在这里插入图片描述

然后确认下是采用http还是https的形式来访问控制台,下面会分开说。

先是http的,配置conf目录下的http.yaml:
在这里插入图片描述
之后去bin目录执行./startManager.sh init进行数据库初始化:
在这里插入图片描述
执行./startManager.sh start启动控制台:
在这里插入图片描述

通过集中管理安装THS节点

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

手动安装并识别THS节点

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

重置集中管理控制台密码

在这里插入图片描述

5.手动部署(不使用控制台)

这种分两种情况,分别是单机和集群高可用的。

两种情况的区别只在于是否配置conf目录下的httpserverHA.conf(里面要配网卡信息,浮动ip信息等),本质都是直接解压THS的安装包(例如x86环境下的TongHttpServer_6.0.1.3_x86_64.tar.gz),解压后放入授权文件,执行脚本启动(单机版和集群高可用都需要执行./start.sh 进行启动 ,高可用的还需要执行./startHA.sh)。

配置高可用,可参考

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

备注:
如果是配置高可用(linux下),请留意httpserverHA.conf是否有remote_ip 这个配置,有的删掉,这个是window下用的。

在这里插入图片描述

6.容器版安装

方式一:使用已有的镜像包

请联系东方通的销售或者技术人员提供对应的镜像包,如下图所示:
在这里插入图片描述

备注:
1.已有镜像包是x86的,如果对操作系统有要求的,建议跳过这个方式,参考方式二。
2.这两个包的区别在于是否带了Agent程序,Agent程序跟集中管理控制台有关,一般情况下,没有用到集中管理控制台,可以不用。
3.需要在本地测试并验证license.dat有效(这个可以自行解压一个6013的THS的安装包,把license.dat 丢在解压目录下,cd到bin目录执行./start.sh -L)。
在这里插入图片描述

下载并上传对应的tar.gz到服务器,然后cd到这个安装包的目录,执行docker load -i指令,例如:

docker load -i TongHttpServer_Instance_Image_6.0.1.3_alpine_x86_64.tar

docker load 指令执行完,使用docker images看看是否有对应镜像:

在这里插入图片描述

然后执行以下指令测试是否能跑起来(记得自己在本地解压好对应的THS安装目录并放入授权):
在这里插入图片描述

 docker run -d -v /opt/THS/license.dat:/opt/THS/license.dat -v /opt/THS/conf:/opt/THS/conf -p 8999:8080  IMAGE_ID

CONTAINER ID可通过docker images查看:
在这里插入图片描述

之后执行docker ps -a确认是否创建成功:

在这里插入图片描述
另外可以执行docker exec -it CONTAINER ID /bin/bash 查看容器内部结构(CONTAINER ID用docker ps -a来查看):
在这里插入图片描述

方式二 使用k8s安装包里的脚本

详细可参考TongHttpServer_V6.0K8s 部署手册_6011A01.pdf
在这里插入图片描述

安装准备

1.有docker环境,并且已经拉取对应操作系统的镜像。
2.将对应安装包上传到服务器上:
在这里插入图片描述

在这里插入图片描述

安装

解压TongHttpServer_Kubernetes_6.0.1.1.tar.gz

tar -zvxf TongHttpServer_Kubernetes_6.0.1.1.tar.gz

解压后在解压目录的THS/install-package放入对应的安装包(这里演示的是x86的):

在这里插入图片描述
找到该脚本
在这里插入图片描述

脚本里修改你放入的tar.gz的名字
在这里插入图片描述

然后到这个目录找到dockerfile(这里不需要用到agent,所以选择该的是withoutAgent这个)
在这里插入图片描述
除了要安装的系统,其他的全部不要动(系统镜像需要提前pull下来或者load到docker里,能用docker images查看到):
在这里插入图片描述
在这里插入图片描述
cd 到这个build.sh所在目录
在这里插入图片描述
在这里插入图片描述

这里输入的是:

tongtech.com/images/ths-instance:v6.0.1.3

在这里插入图片描述

在这里插入图片描述

继续用docker run测试一下:

 docker run -d -v /opt/THS/license.dat:/opt/THS/license.dat -v /opt/THS/conf:/opt/THS/conf -p 8998:8080  IMAGE_ID

在这里插入图片描述

另外可以执行docker exec -it CONTAINER ID /bin/bash 查看容器内部结构(CONTAINER ID用docker ps -a来查看):
在这里插入图片描述

7.各种常用配置和用法(仅供参考)

动静分离

http {upstream backend {server 127.0.0.1:8082;server 127.0.0.1:8083;}server {listen 8080;server_name localhost;access_log logs/access.log main;location / {   root html;try_files $uri $uri/ /index.html;}location /api {proxy_pass http://backend;}}
}

跨域

server {listen 80;server_name example.com;location /api/ {# 允许所有域名跨域add_header 'Access-Control-Allow-Origin' '*';# 允许的 HTTP 方法add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE';# 允许的请求头add_header 'Access-Control-Allow-Headers' 'Origin, Authorization, Content-Type, Accept';# OPTIONS 预检请求直接返回成功if ($request_method = 'OPTIONS') {return 204;}proxy_pass http://backend_server;}
}

配置https

http {server {listen 8443 ssl;server_name localhost;access_log logs/access.log main;ssl_protocols TLSv1.3;ssl_gmtls on;ssl_certificate tools/crt_demo/SS.pem tools/crt_demo/SE.pem;ssl_certificate_key tools/crt_demo/SS.key.pem tools/crt_demo/SE.key.pem;ssl_certificate tools/crt_demo/server.crt;ssl_certificate_key tools/crt_demo/server.key;#ssl_session_cache    shared:SSL:1m;#ssl_session_timeout  5m;ssl_ciphers  HIGH:!aNULL:!MD5;#ssl_prefer_server_ciphers  on;location / {root html;index index.html;}}
}

强转https

# HTTP 配置(80端口),将所有 HTTP 请求重定向到 HTTPS
server {listen 80; # HTTP端口server_name tmail.tepon.com.cn; # 绑定域名# 永久重定向到 HTTPSreturn 302 https://tmail.tepon.com.cn$request_uri;
}# HTTPS 配置(443端口),处理加密请求
server {listen 443 ssl; # HTTPS端口server_name tmail.tepon.com.cn; # 绑定域名# 配置 SSL 证书和密钥ssl_certificate crts/tebon2024.pem;ssl_certificate_key crts/tebon2024.key;# 启用最新的 TLS 协议,增强安全性ssl_protocols TLSv1.2 TLSv1.3;# IP透传,保留原始客户端IPproxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Host $host;# 处理来自 HTTPS 的请求location / {proxy_pass http://backend_servers; # 将请求转发到后端服务器# 确保后端知道请求是通过 HTTPS 传输#proxy_set_header X-Forwarded-Proto https; }
}

容易遇到的问题:

使用nginx设置http跳转https,报错:ERR_TOO_MANY_REDIRECTS

传真实ip到后端

proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

备注:

如果应用那边同时使用了Tongweb,Tongweb部分配置可参考以下帖子:

负载场景下TongWeb如何获取真实的客户端IP地址

THS节点配置为普通用户启动(不包含控制台)

之所以单独写这一节,是参考
普通用户权限使用tongTHS的解决方案的时候,发现了以下问题:
1./var/run 这个目录,只要重启了服务器,就需要重新赋权777,否则就会在THS节点的error.log里报can not open file /var/run/xxx (在现场遇到的)。
2.很多人不知道setcap 这个有什么作用,怎么执行,在哪里执行。(这个要在THS节点安装目录的bin目录执行)。

首先我们要知道,THS节点的启动主要是这两个指令(/opt/THStest/THS是我示范用哪个的THS的安装目录):

cd /opt/THStest/THS/bin
./start.sh 
./startHA.sh

所以可以根据自己的情况,在THS的bin目录创建一个脚本Tonghttpserver.sh,脚本内容如下:

#!/bin/bash
#!赋权777到/var/run
sudo chmod 777 /var/run
#!启动THS节点,/opt/THStest/THS为THS节点安装目录
nohup /opt/THStest/THS/bin/httpserver -p  /opt/THStest/THS -c /opt/THStest/THS/conf/httpserver.conf
#!启动THS高可用,/opt/THStest/THS为THS节点安装目录
/bin/bash /opt/THStest/THS/bin/startHA.sh
#!/opt/THStest/THS为THS 安装目录
echo $! > /opt/THStest/THS/bin/web.pid

同时新建一个TonghttpserverStop.sh

#!/bin/bash
pkill httpserver

接下来执行以下操作(/opt/THStest/THS是THS安装节点目录,yehuorufeng是演示创建的普通用户):


[root@localhost THStest]# chmod 755 /opt/THStest/THS/bin/Tonghttpserver.sh
[root@localhost THStest]# chmod 755 /opt/THStest/THS/bin/TonghttpserverStop.sh
[root@localhost ~]# chmod 755 /opt/THStest/THS/conf
[root@localhost ~]# chmod 644 /opt/THStest/THS/conf/*
[root@localhost THStest]# chown -R yehuorufeng:yehuorufeng  /opt/THStest/THS
[root@localhost THStest]# chmod 644 /opt/THStest/THS/conf
[root@localhost THStest]# chmod 755 $(find /opt/THStest/THS/html -type d)
[root@localhost THStest]# chmod 644 $(find /opt/THStest/THS/html -type f)
## 配置后普通用户能用sudo指令,方便后面执行setcap
[root@localhost bin]# usermod -aG wheel yehuorufeng
[root@localhost bin]# su yehuorufeng
[yehuorufeng@@localhost bin]# cd /opt/THStest/THS/bin/
## 必须在普通用户下操作
[yehuorufeng@@localhost bin]# sudo setcap cap_net_bind_service=+ep ./httpserver
## 必须在普通用户下操作
[yehuorufeng@@localhost bin]# sudo  setcap cap_net_raw,cap_net_admin=+ep ./httpserverHA

在这里插入图片描述

如果遇到sudo 需要输入用户密码的,可以用root用户这样配置操作(目的是设置该普通用户使用sudo指令不需要输入用户密码,其中yehuorufeng替换为你的普通用户名):

sudo visudo#在该文件最末尾配置
yehuorufeng ALL=(ALL) NOPASSWD: ALL

在这里插入图片描述

输入ip a看看是否有浮动ip(没配的不用看这里):
在这里插入图片描述

如果有报错,请根据报错信息进行处理,例如:
在这里插入图片描述
在这里插入图片描述

THS节点配置开机自启动

THS节点的tools目录的service下有各种开机脚本的参考(包括THS节点,HA,agent)。

在这里插入图片描述

本次示范的是配置了上一节普通用户的情况下,配置开机自启动(请根据自身情况进行调整),参考了httpserver.service:在这里插入图片描述

在/usr/lib/systemd/system下新建一个tonghttpserver.service,并赋权644

[Unit]
Description=tonghttpserver
StartLimitIntervalSec=0
After=network.target[Service]
Type=forking
Restart=always
RestartSec=30
User=yehuorufeng
Group=yehuorufeng
LimitNOFILE=102400
LimitNPROC=102400
LimitMEMLOCK=infinity
WorkingDirectory=/opt/THStest/THS/bin
ExecStart=/opt/THStest/THS/bin/Tonghttpserver.sh
ExecStop=/opt/THStest/THS/bin/TonghttpserverStop.sh[Install]
WantedBy=multi-user.target

在这里插入图片描述

接下来执行以下指令(用root)

[root@localhost system]# systemctl daemon-reload
[root@localhost system]# systemctl start tonghttpserver.service
[root@localhost system]# systemctl status tonghttpserver
[root@localhost system]# systemctl enable tonghttpserver
Created symlink from /etc/systemd/system/multi-user.target.wants/tonghttpserver.service to /usr/lib/systemd/system/tonghttpserver.service.

重启服务器,重新输入以下指令确认是否启动成功:

[root@localhost ~]# systemctl status tonghttpserver
● tonghttpserver.service - tonghttpserverLoaded: loaded (/usr/lib/systemd/system/tonghttpserver.service; enabled; vendor preset: disabled)Active: active (running) since 一 2024-12-30 12:42:45 CST; 1min 11s agoProcess: 1013 ExecStart=/opt/THStest/THS/bin/Tonghttpserver.sh (code=exited, status=0/SUCCESS)CGroup: /system.slice/tonghttpserver.service├─1146 httpserver: master process /opt/THStest/THS/bin/httpserver -p /opt/THStest/THS -c /opt/THStest/THS/conf/httpserver.conf├─1148 httpserver: worker process├─1150 httpserver: worker process├─1151 httpserver: worker process├─1152 httpserver: worker process├─1191 /opt/THStest/THS/bin/httpserverHA -f /opt/THStest/THS/conf/httpserverHA.conf /opt/THStest/THS/logs/ha_run_log└─1193 /opt/THStest/THS/bin/httpserverHA -f /opt/THStest/THS/conf/httpserverHA.conf /opt/THStest/THS/logs/ha_run_log1230 12:42:42 localhost.localdomain systemd[1]: Starting tonghttpserver...
1230 12:42:42 localhost.localdomain sudo[1017]: yehuorufeng : TTY=unknown ; PWD=/opt/THStest/THS/bin ; USER=root ; COMMAND=/bin/chmod 777 /var/run
1230 12:42:42 localhost.localdomain Tonghttpserver.sh[1013]: Software version: TongHttpServer/6.0.1.3
1230 12:42:42 localhost.localdomain Tonghttpserver.sh[1013]: Build at Nov  25 2024 03:06:35
1230 12:42:42 localhost.localdomain Tonghttpserver.sh[1013]: httpserverHA is startting...
1230 12:42:45 localhost.localdomain Tonghttpserver.sh[1013]: httpserverHA start success!
1230 12:42:45 localhost.localdomain systemd[1]: Started tonghttpserver.
[root@localhost ~]# ps -ef |grep httpserver
yehuoru+  1146     1  0 12:42 ?        00:00:00 httpserver: master process /opt/THStest/THS/bin/httpserver -p /opt/THStest/THS -c /opt/THStest/THS/conf/httpserver.conf
yehuoru+  1148  1146  0 12:42 ?        00:00:00 httpserver: worker process
yehuoru+  1150  1146  0 12:42 ?        00:00:00 httpserver: worker process
yehuoru+  1151  1146  0 12:42 ?        00:00:00 httpserver: worker process
yehuoru+  1152  1146  0 12:42 ?        00:00:00 httpserver: worker process
yehuoru+  1191     1  0 12:42 ?        00:00:00 /opt/THStest/THS/bin/httpserverHA -f /opt/THStest/THS/conf/httpserverHA.conf /opt/THStest/THS/logs/ha_run_log
yehuoru+  1193  1191  0 12:42 ?        00:00:00 /opt/THStest/THS/bin/httpserverHA -f /opt/THStest/THS/conf/httpserverHA.conf /opt/THStest/THS/logs/ha_run_log
root      2489  1549  0 12:44 pts/0    00:00:00 grep --color=auto httpserver

在这里插入图片描述

在这里插入图片描述

相关文章:

Tonghttpserver6.0.1.3 使用整理(by lqw)

文章目录 1.声明2.关于单机版控制台和集中管理控制台3.单机版控制台3.1安装,启动和查看授权信息3.2一些常见的使用问题(单机控制台)3.3之前使用的是nginx,现在要配nginx.conf上的配置,在THS上如何配置3.4如何配置密码过…...

redis开发与运维-redis0401-补充-redis流水线与Jedis执行流水线

文章目录 【README】【1】redis流水线Pipeline【1.1】redis流水线概念【1.2】redis流水线性能测试【1.2.1】使用流水线与未使用流水线的性能对比【1.2.2】使用流水线与redis原生批量命令的性能对比【1.2.3】流水线缺点 【1.3】Jedis客户端执行流水线【1.3.1】Jedis客户端执行流…...

OPPO Java面试题及参考答案

Java 语言的特点 Java 是一种面向对象的编程语言,它具有以下显著特点。 首先是简单性。Java 的语法相对简单,它摒弃了 C 和 C++ 语言中一些复杂的特性,比如指针操作。这使得程序员能够更专注于业务逻辑的实现,而不是陷入复杂的语法细节中。例如,Java 的内存管理是自动进行…...

Ubuntu 22.04 升级 24.04 问题记录

一台闲置笔记本使用的 ubuntu 还是 18.04,最近重新使用,发现版本过低,决定升级,于是完成了 18.04 -> 20.04 -> 22. 04 -> 24.04 的三连跳。 一、升级过程中黑屏 主要问题是在 22.04 升级到 24.04 过程中出现了黑屏仅剩…...

Java重要面试名词整理(五):Redis

文章目录 Redis高级命令Redis持久化RDB快照(snapshot)**AOF(append-only file)****Redis 4.0 混合持久化** 管道(Pipeline)**StringRedisTemplate与RedisTemplate详解**Redis集群方案gossip脑裂 Redis LuaR…...

单元测试中创建多个线程测试 ThreadLocal

单元测试中创建多个线程测试 ThreadLocal 在单元测试中,可以通过以下方式创建多个线程来测试 ThreadLocal 的行为。 目标 验证 ThreadLocal 在多线程环境下是否能正确隔离每个线程的数据。 实现步骤 定义需要测试的类 包含 ThreadLocal 对象的类,提供…...

iDP3复现代码数据预处理全流程(二)——vis_dataset.py

vis_dataset.py 主要作用在于点云数据的可视化,并可以做一些简单的预处理 关键参数基本都在 vis_dataset.sh 中定义了,需要改动的仅以下两点: 1. 点云图像保存位置,因为 dataset_path 被设置为了绝对路径,因此需要相…...

容器化部署服务全流程

系列文章目录 文章目录 系列文章目录前言一、什么是容器?二、如何安装docker三、如何写dockerfile四、如何启动服务五、常见命令总结总结 前言 这篇文章,‌主要目的是通过容器化技术简化应用程序的部署、运行和管理,提高开发、测试和生产环境…...

Flutter DragTarget拖拽控件详解

文章目录 1. DragTarget 控件的构造函数主要参数: 2. DragTarget 的工作原理3. 常见用法示例 1:实现一个简单的拖拽目标解释:示例 2:与 Draggable 结合使用解释: 4. DragTarget 的回调详解5. 总结 DragTarget 是 Flutt…...

操作系统动态分区分配算法-首次适应算法c语言实现

目录 一、算法原理 二、算法特点 1.优先利用低址空闲分区: 2.查找开销: 3.内存碎片: 三、内存回收四种情况 1.回收区上面(或后面)的分区是空闲分区: 2.回收区下面(或前面)的…...

mybatis-plus自动填充时间的配置类实现

mybatis-plus自动填充时间的配置类实现 在实际操作过程中,我们并不希望创建时间、修改时间这些来手动进行,而是希望通过自动化来完成,而mybatis-plus则也提供了自动填充功能来实现这一操作,接下来,就来了解一下mybatis…...

Vite内网ip访问,两种配置方式和修改端口号教程

目录 问题 两种解决方式 结果 总结 preview.host preview.port 问题 使用vite运行项目的时候,控制台会只出现127.0.0.1(localhost)本地地址访问项目。不可以通过公司内网ip访问,其他团队成员无法访问,这是因为没…...

【星海随笔】删除ceph

cephadm shell ceph osd set noout ceph osd set norecover ceph osd set norebalance ceph osd set nobackfill ceph osd set nodown ceph osd set pause参考文献: https://blog.csdn.net/lyf0327/article/details/90294011 systemctl stop ceph-osd.targetyum re…...

HarmonyOS NEXT实战:自定义封装多种样式导航栏组件

涉及知识点和装饰器 ComponentV2,Local, Builder,BuilderParam,Extend, Require ,Param,Event等第三方库:ZRouter ,如项目中本来就用了ZRouter路由库,案例中…...

大数据面试笔试宝典之Flink面试

1.Flink 是如何支持批流一体的? F link 通过一个底层引擎同时支持流处理和批处理. 在流处理引擎之上,F link 有以下机制: 1)检查点机制和状态机制:用于实现容错、有状态的处理; 2)水印机制:用于实现事件时钟; 3)窗口和触发器:用于限制计算范围,并定义呈现结果的…...

pytorch整体环境打包安装到另一台电脑上

步骤一:安装conda-pack 首先利用 pip list 指令检查conda环境安装在哪里,在系统环境(base)下,于是我是使用的conda指令完成的。 # 使用Conda安装(如果已安装conda) conda install conda-pack …...

PostgreSQL 数据库连接

title: PostgreSQL 数据库连接 date: 2024/12/29 updated: 2024/12/29 author: cmdragon excerpt: PostgreSQL是一款功能强大的开源关系数据库管理系统,在现代应用中广泛应用于数据存储和管理。连接到数据库是与PostgreSQL进行交互的第一步,这一过程涉及到多个方面,包括连…...

【算法】复杂性理论初步

六、算法复杂性初步 重要的复杂性类 P P P 的定义 多项式时间内可解的问题 若 L ∈ P L∈P L∈P,则存在确定性多项式时间的图灵机 M M M,使得 M ( x ) 1 ⟺ x ∈ L M(x)1⟺x∈L M(x)1⟺x∈L N P NP NP 的定义 多项式时间内可验证验证解的正确性 &…...

HarmonyOS NEXT应用开发实战:免费练手的网络API接口分享

学习一项技能,最好也最快的办法就是直接动手实战。在实战中不断的总结经验和收获成就感。这里分享些好用且免费的网络API练手接口,这对于想要提升自己网络开发能力的开发者来说,无疑是极大的福音。今天,我将详细介绍一个API接口集…...

C++的第一个程序

前言 在学习c之前&#xff0c;你一定还记得c语言的第一个程序 当时刚刚开始进行语言学习 因此告诉到&#xff0c;仅仅需要记住就可以 #include <stdio.h>int main(){printf("Hello World");return 0; }而对于c中的第一个程序&#xff0c;似乎有所变化 C的…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写&#xff0c;中文译为后进先出。这是一种数据结构的工作原则&#xff0c;类似于一摞盘子或一叠书本&#xff1a; 最后放进去的元素最先出来 -想象往筒状容器里放盘子&#xff1a; &#xff08;1&#xff09;你放进的最后一个盘子&#xff08…...

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用&#xff0c;可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器&#xff0c;能够帮助开发者更好地管理复杂的依赖关系&#xff0c;而 GraphQL 则是一种用于 API 的查询语言&#xff0c;能够提…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术&#xff0c;说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号&#xff08;调制&#xff09; 把信息从信号中抽取出来&am…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题&#xff1a;docker pull 失败 网络不同&#xff0c;需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

力扣-35.搜索插入位置

题目描述 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...