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

day47-tomcat

1. ✅tomcat与nginx结合

1.1. 🎯接入nginx

  • 静态资源(html|js|css|jpg|jpeg|bmp)交给nginx处理,其他的转发给tomcat处理
1.修改yum源
vim /etc/yum.repos.d/nginx.repo 
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true2.安装nginx
yum -y install nginx3.修改nginx配置文件
vim /etc/nginx/conf.d/zrlog.zhubl.xyz.conf 
server {listen 80;server_name zrlog.zhubl.xyz;error_log /var/log/nginx/zrlog-error.log notice;access_log /var/log/nginx/zrlog-access.log main;location / {proxy_pass http://127.0.0.1:8080;proxy_set_header Host $http_host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Real_Ip $remote_addr;}location ~* \.(html|js|css|jpg|jpeg|bmp)$ {root /app/tools/tomcat/webapps/ROOT/;expires 7d;}
}4.重启nginx
systemctl reload nginx5.修改站点目录权限
find /app/tools/tomcat/webapps -type f |xargs chmod 644
find /app/tools/tomcat/webapps -type d |xargs chmod 755

1.2. 📁数据库连接文件

[root@web03 /app/tools/tomcat]# cat webapps/ROOT/WEB-INF/db.properties 
#This is a database configuration file
#Thu Jul 03 09:20:43 CST 2025
driverClass=com.mysql.cj.jdbc.Driver
user=zrlog
password=lidao
jdbcUrl=jdbc\:mysql\://172.16.1.51\:3306/zrlog?characterEncoding\=UTF-8&allowPublicKeyRetrieval\=true&useSSL\=false&serverTimezone\=GMT

2. ✅zrlog集群

2.1. 📝环境准备

角色

主机

ip

数据库

db01

172.16.1.51

存储

nfs01

172.16.1.31

web服务

web03/web04

172.16.1.9/172.16.1.10

负载

lb01/lb02

172.16.1.5/172.16.1.6

高可用

keepalived

172.16.1.3

2.2. 🔐准备数据库

1.安装数据库
yum -y install mariadb-server2.启动数据库
systemctl enable mariadb-server --now3.初始化数据库
#仅仅刚安装的时候运行.仅首次运行即可.
mysql_secure_installation
用于设置root密码,清理用户和清理临时库.Enter current password for root (enter for none):回车Set root password? [Y/n]  Y设置密码New password:  输入密码
Re-enter new password:  再次输入
Password updated successfully!
Reloading privilege tables..... Success!Remove anonymous users? [Y/n]  Y  删除数据库中的匿名用户(没有用户名的用户,容易导致安全问题)Disallow root login remotely? [Y/n] Y  是否禁止root远程登录Remove test database and access to it? [Y/n] Y 是否删除test测试用的数据库Reload privilege tables now? [Y/n]  Y 是否更新权限信息表3.登录数据库,添加zrlog库,添加zrlog用户
mysql -uroot -p1
create database zrlog;
grant all on zrlog.* to 'zrlog'@'172.16.1.%' identified by 'lidao';

2.3. 💾部署存储

1.修改配置文件
vim /etc/exports
/nfs/zrlog/ 172.16.1.0/24(rw,all_squash)2.创建共享目录
mkdir -p /nfs/zrlog/3.修改所有者
chown -R nobody.nobody /nfs/zrlog/4.检查
showmount -e 172.16.1.31

2.4. 🌏部署zrlog(web03)

1.安装jdk
yum -y install java-112.解压tomcat二进制包
tar xf apache-tomcat-9.0.106.tar.gz -C /app/tools/3.创建软链接
ln -s /app/tools/apache-tomcat-9.0.106/ /app/tools/tomcat3.编写systemd
vim /usr/lib/systemd/system/tomcat.service
[Unit]
Description=Tomcat  java web container 
After=network.target [Service]
Type=forking
#EnvironmentFile=/etc/sysconfig/tomcat
ExecStart=/app/tools/tomcat/bin/startup.sh
ExecStop=/app/tools/tomcat/bin/shutdown.sh[Install]
WantedBy=multi-user.target4.重新加载system文件
systemctl daemon-reload5.启动tomcat
systemctl enable tomcat --now6.检查
ps -ef | grep java
ss -lntup | grep java7.部署war包
mv /app/tools/tomcat/webapps/ROOT /tmp/
mv zrlog.war /app/tools/tomcat/webapps/ROOT.war8.浏览器访问
用户界面:
http://10.0.0.9:8080
管理界面:
http://10.0.0.9:8080/admin/login9.挂载
mount -t nfs 172.16.1.31:/nfs/zrlog/ /app/tools/tomcat/webapps/ROOT/attached/10.永久挂载
vim /etc/fstab
172.16.1.31:/nfs/zrlog/ /app/tools/tomcat/webapps/ROOT/attached/ nfs defaults   0 0

2.5. 🌏部署zrlog(web04)

1.安装jdk
yum -y install java-112.拷贝web03的/app目录到web04上
#web03关闭tomcat
systemctl stop tomcat
#web03拷贝
scp -rp /app root@10.0.0.10:/3.编写systemd
vim /usr/lib/systemd/system/tomcat.service
[Unit]
Description=Tomcat  java web container 
After=network.target [Service]
Type=forking
#EnvironmentFile=/etc/sysconfig/tomcat
ExecStart=/app/tools/tomcat/bin/startup.sh
ExecStop=/app/tools/tomcat/bin/shutdown.sh[Install]
WantedBy=multi-user.target4.重新加载system文件
systemctl daemon-reload5.启动tomcat
systemctl enable tomcat --now6.检查
ps -ef | grep java
ss -lntup | grep java9.挂载
mount -t nfs 172.16.1.31:/nfs/zrlog/ /app/tools/tomcat/webapps/ROOT/attached/10.永久挂载
vim /etc/fstab
172.16.1.31:/nfs/zrlog/ /app/tools/tomcat/webapps/ROOT/attached/ nfs defaults   0 0

2.6. 🍀接入nginx(web03/web04)

1.修改yum源
vim /etc/yum.repos.d/nginx.repo 
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true2.安装nginx
yum -y install nginx3.修改nginx配置文件
vim /etc/nginx/conf.d/zrlog.zhubl.xyz.conf 
server {listen 80;server_name zrlog.zhubl.xyz;error_log /var/log/nginx/zrlog-error.log notice;access_log /var/log/nginx/zrlog-access.log main;location / {proxy_pass http://127.0.0.1:8080;proxy_set_header Host $http_host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Real_Ip $remote_addr;}location ~* \.(html|js|css|jpg|jpeg|bmp)$ {root /app/tools/tomcat/webapps/ROOT/;expires 7d;}
}4.重启nginx
systemctl reload nginx5.修改站点目录权限
find /app/tools/tomcat/webapps -type f |xargs chmod 644
find /app/tools/tomcat/webapps -type d |xargs chmod 755

2.7. ☀️接入负载(lb01/lb02)

1.配置nginx源
vim /etc/yum.repos.d/ngx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true2.安装nginx
yum -y install nginx3.修改nginx配置文件
vim /etc/nginx/conf.d/lb.zbl.cn.conf
upstream zrlog_pools  {server 10.0.0.9:80;server 10.0.0.10:80;
}
server {listen 80;server_name zrlog.zhubl.xyz;#error_log#access_log location / {proxy_pass http://zrlog_pools;proxy_set_header Host $http_host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Real-Ip $remote_addr;}
}4.重启nginx
nginx -t
systemctl reload nginx

2.8. 🚀接入高可用(lb01)

1.安装keepalived
yum -y install keepalived2.备份配置文件
cp /etc/keepalived/keepalived.conf{,.bak}3.修改配置文件
vim /etc/keepalived/keepalived.conf
global_defs {router_id lb01  
}
vrrp_script check_lb.sh {   script /server/scripts/check_lb.shinterval 2weight  1user root 
}vrrp_instance vip_3 {    state MASTER    interface ens33virtual_router_id 51 priority 100    advert_int 1        authentication {   auth_type PASSauth_pass 1111  }virtual_ipaddress { 10.0.0.3 dev ens33 label ens33:0  }track_script  {check_lb.sh }
}4.编写脚本
vim /server/scripts/check_lb.sh
#1.vars
count=`ps -ef | grep nginx | wc -l`#2.stop keepalived
if [ ${count} -eq 1 ];thensystemctl stop keepalived
fi5.重启keepalived
systemctl restart keepalived.service

2.9. 🚀接入高可用(lb02)

1.安装keepalived
yum -y install keepalived2.备份配置文件
cp /etc/keepalived/keepalived.conf{,.bak}3.修改配置文件
vim /etc/keepalived/keepalived.conf
global_defs {router_id lb02
}vrrp_instance vip_3 {state BACKUPinterface ens33virtual_router_id 51priority 50advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {10.0.0.3 dev ens33 label ens33:0}
}4.重启keepalived服务
systemctl restart keepalived.service

3. ✅tomcat配置文件

3.1. 📁 常见配置文件列表

文件名

说明

server.xml

Tomcat 的主配置文件,定义服务、连接器、引擎、主机等组件

web.xml

部署描述符,定义全局默认的 Web 应用配置

context.xml

定义所有 Web 应用共享的上下文配置

tomcat-users.xml

用户、角色和权限的配置文件,用于管理访问控制

logging.properties

日志配置文件,用于设置日志输出格式和位置

catalina.policy

安全策略文件,用于 Java Security Manager

catalina.properties

包含一些系统属性,如类加载顺序、安全包等

3.2. 📄 server.xml(核心配置)

<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN"><!--tomcat关闭端口,连接8005,输入SHUTDOWN,tomcat关闭了. 8005默认本地连接 --><Listener className="org.apache.catalina.startup.VersionLoggerListener" /><Listener className="org.apache.catalina.core.AprLifecycleListener" /><Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /><Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /><Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" /><GlobalNamingResources><Resource name="UserDatabase" auth="Container"type="org.apache.catalina.UserDatabase"description="User database that can be updated and saved"factory="org.apache.catalina.users.MemoryUserDatabaseFactory"pathname="conf/tomcat-users.xml" /></GlobalNamingResources><Service name="Catalina"><Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443"maxParameterCount="1000"/><Engine name="Catalina" defaultHost="localhost"><!--defaultHost类似于nginx default_server指定默认站点 localhost:域名--><Realm className="org.apache.catalina.realm.LockOutRealm"><Realm className="org.apache.catalina.realm.UserDatabaseRealm"resourceName="UserDatabase"/></Realm><!--Host部分相当于server{}部分,站点--><Host name="localhost"  appBase="webapps"unpackWARs="true" autoDeploy="true"><Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"prefix="localhost_access_log" suffix=".txt"pattern="%h %l %u %t &quot;%r&quot; %s %b" /></Host></Engine></Service>
</Server>

  • 访问日志格式

tomcat

nginx

说明

Host部分的pattern定义

http区域log_format部分

定义访问日志的格式

%h

$remote_addr

客户端ip地址

%t

$local_time

访问的时间

%r

$request

请求起始行(请求方法,URI,HTTP)

%s

$status

状态码

%b

$body_bytes_sent

大小

%{Referer}i 新增

$http_referer

从哪里跳转来的(用户如何访问网站)

%{User-Agent}i 新增

$http_user_agent

客户端类型,浏览器

%{X-Forwarded-For}i 新增

$http_x_forwarded_for

XFF头记录


<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"prefix="localhost_access" suffix=".log"pattern="%h %l %u %t &quot;%r&quot; %s %b &quot;%{Referer}i&quot; &quot;%{User-Agent}i&quot; &quot;%{X-Forwarded-For}i&quot;" />

tomcat vs nginx对比

tomcat

nginx

web端口

Connector=8080

listen 80/443

站点/虚拟主机

<Host></Host>部分

server{ }部分

域名

name="localhost"

server_name

站点目录

appBase="webapps"

root

自动解压(war包)zip压缩包

unpackWARs="true"

自动部署(加载jvm)

autoDeploy="true"

标签

作用

<Server>

整个 Tomcat 实例的根元素

<Service>

将多个连接器绑定到一个引擎上

<Connector>

定义客户端与 Tomcat 之间的通信方式(HTTP、HTTPS、AJP)

<Engine>

引擎负责处理 Service 中的所有请求

<Host>

表示虚拟主机,可以配置多个 Host 实现多域名部署

<Context>

每个 Web 应用的上下文路径(可在 server.xml 或单独的 XML 文件中配置)

<Realm>

用户认证机制,通常结合 tomcat-users.xml 使用

<Valve>

请求处理管道中的阀门,如访问日志记录、IP过滤等

3.3. 🔍 常用目录结构说明

目录

用途

bin/

存放启动脚本(如 startup.sh, shutdown.sh

conf/

存放配置文件(重点目录)

lib/

存放 Tomcat 和应用所需的公共 jar 包

logs/

日志文件存放目录

webapps/

Web 应用部署目录

work/

JSP 编译后的临时文件

temp/

临时工作目录

4. ✅tomcat动静分离

4.1. 📝环境准备

角色

主机

ip

数据库

db01

172.16.1.51

存储

nfs01

172.16.1.31

web服务(动态)

web03

172.16.1.8

web服务(静态)

web05

172.16.1.11

负载

lb01/lb02

172.16.1.5/172.16.1.6

高可用

keepalived

172.16.1.3

4.2. 🔐准备数据库

1.安装数据库
yum -y install mariadb-server2.启动数据库
systemctl enable mariadb-server --now3.初始化数据库
#仅仅刚安装的时候运行.仅首次运行即可.
mysql_secure_installation
用于设置root密码,清理用户和清理临时库.Enter current password for root (enter for none):回车Set root password? [Y/n]  Y设置密码New password:  输入密码
Re-enter new password:  再次输入
Password updated successfully!
Reloading privilege tables..... Success!Remove anonymous users? [Y/n]  Y  删除数据库中的匿名用户(没有用户名的用户,容易导致安全问题)Disallow root login remotely? [Y/n] Y  是否禁止root远程登录Remove test database and access to it? [Y/n] Y 是否删除test测试用的数据库Reload privilege tables now? [Y/n]  Y 是否更新权限信息表3.登录数据库,添加zrlog库,添加zrlog用户
mysql -uroot -p1
create database zrlog;
grant all on zrlog.* to 'zrlog'@'172.16.1.%' identified by 'lidao';

4.3. 💾部署存储

1.修改配置文件
vim /etc/exports
/nfs/zrlog/ 172.16.1.0/24(rw,all_squash)2.创建共享目录
mkdir -p /nfs/zrlog/3.修改所有者
chown -R nobody.nobody /nfs/zrlog/4.检查
showmount -e 172.16.1.31

4.4. 🌏部署zrlog(web03)

1.安装jdk
yum -y install java-112.解压tomcat二进制包
tar xf apache-tomcat-9.0.106.tar.gz -C /app/tools/3.创建软链接
ln -s /app/tools/apache-tomcat-9.0.106/ /app/tools/tomcat3.编写systemd
vim /usr/lib/systemd/system/tomcat.service
[Unit]
Description=Tomcat  java web container 
After=network.target [Service]
Type=forking
#EnvironmentFile=/etc/sysconfig/tomcat
ExecStart=/app/tools/tomcat/bin/startup.sh
ExecStop=/app/tools/tomcat/bin/shutdown.sh[Install]
WantedBy=multi-user.target4.重新加载system文件
systemctl daemon-reload5.启动tomcat
systemctl enable tomcat --now6.检查
ps -ef | grep java
ss -lntup | grep java7.部署war包
mv /app/tools/tomcat/webapps/ROOT /tmp/
mv zrlog.war /app/tools/tomcat/webapps/ROOT.war8.浏览器访问
用户界面:
http://10.0.0.9:8080
管理界面:
http://10.0.0.9:8080/admin/login9.挂载
mount -t nfs 172.16.1.31:/nfs/zrlog/ /app/tools/tomcat/webapps/ROOT/attached/10.永久挂载
vim /etc/fstab
172.16.1.31:/nfs/zrlog/ /app/tools/tomcat/webapps/ROOT/attached/ nfs defaults   0 0

4.5. 🌏部署zrlog(web05)

1.安装jdk
yum -y install java-112.拷贝web03的/app目录到web04上
#web03关闭tomcat
systemctl stop tomcat
#web03拷贝
scp -rp /app root@10.0.0.11:/3.编写systemd
vim /usr/lib/systemd/system/tomcat.service
[Unit]
Description=Tomcat  java web container 
After=network.target [Service]
Type=forking
#EnvironmentFile=/etc/sysconfig/tomcat
ExecStart=/app/tools/tomcat/bin/startup.sh
ExecStop=/app/tools/tomcat/bin/shutdown.sh[Install]
WantedBy=multi-user.target4.重新加载system文件
systemctl daemon-reload5.启动tomcat
systemctl enable tomcat --now6.检查
ps -ef | grep java
ss -lntup | grep java9.挂载
mount -t nfs 172.16.1.31:/nfs/zrlog/ /app/tools/tomcat/webapps/ROOT/attached/10.永久挂载
vim /etc/fstab
172.16.1.31:/nfs/zrlog/ /app/tools/tomcat/webapps/ROOT/attached/ nfs defaults   0 0

4.6. 🍀接入nginx-动态(web03)

1.修改yum源
vim /etc/yum.repos.d/nginx.repo 
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true2.安装nginx
yum -y install nginx3.修改nginx配置文件
vim /etc/nginx/conf.d/zrlog.zhubl.xyz.conf 
server {listen 80;server_name zrlog.zhubl.xyz;error_log /var/log/nginx/zrlog-error.log notice;access_log /var/log/nginx/zrlog-access.log main;location / {proxy_pass http://127.0.0.1:8080;proxy_set_header Host $http_host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Real_Ip $remote_addr;}location ~* \.(html|js|css|jpg|jpeg|bmp)$ {root /app/tools/tomcat/webapps/ROOT/;expires 7d;}
}4.重启nginx
nginx -t
systemctl reload nginx5.修改站点目录权限
find /app/tools/tomcat/webapps -type f |xargs chmod 644
find /app/tools/tomcat/webapps -type d |xargs chmod 755

4.7. 🍀接入nginx-静态(web05)

1.修改yum源
vim /etc/yum.repos.d/nginx.repo 
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true2.安装nginx
yum -y install nginx3.修改nginx配置文件
vim /etc/nginx/conf.d/zrlog.zhubl.xyz.conf 
server {listen 80;server_name zrlog.zhubl.xyz;root /app/tools/tomcat/webapps/ROOT/;error_log /var/log/nginx/zrlog-error.log notice;access_log /var/log/nginx/zrlog-access.log main;location / {index index.html}
}4.重启nginx
nginx -t
systemctl reload nginx5.修改站点目录权限
find /app/tools/tomcat/webapps -type f |xargs chmod 644
find /app/tools/tomcat/webapps -type d |xargs chmod 755

4.8. ☀️接入负载(lb01/lb02)

1.配置nginx源
vim /etc/yum.repos.d/ngx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true2.安装nginx
yum -y install nginx3.修改nginx配置文件
vim /etc/nginx/conf.d/lb.zbl.cn.conf
upstream zrlog_static  {server 10.0.0.11:80;
}
upstream zrlog_default  {server 10.0.0.9:80;server 10.0.0.10:80;
}
server {listen 80;server_name zrlog.zhubl.xyz;#error_log#access_log location / {proxy_pass http://zrlog_default;proxy_set_header Host $http_host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Real-Ip $remote_addr;}location ~* \.(html|css|js) {proxy_pass http://zrlog_static;proxy_set_header Host $http_host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Real-Ip $remote_addr;}
}4.重启nginx
nginx -t
systemctl reload nginx

4.9. 🚀接入高可用(lb01)

1.安装keepalived
yum -y install keepalived2.备份配置文件
cp /etc/keepalived/keepalived.conf{,.bak}3.修改配置文件
vim /etc/keepalived/keepalived.conf
global_defs {router_id lb01  
}
vrrp_script check_lb.sh {   script /server/scripts/check_lb.shinterval 2weight  1user root 
}vrrp_instance vip_3 {    state MASTER    interface ens33virtual_router_id 51 priority 100    advert_int 1        authentication {   auth_type PASSauth_pass 1111  }virtual_ipaddress { 10.0.0.3 dev ens33 label ens33:0  }track_script  {check_lb.sh }
}4.编写脚本
vim /server/scripts/check_lb.sh
#1.vars
count=`ps -ef | grep nginx | wc -l`#2.stop keepalived
if [ ${count} -eq 1 ];thensystemctl stop keepalived
fi5.重启keepalived
systemctl restart keepalived.service

4.10. 🚀接入高可用(lb02)

1.安装keepalived
yum -y install keepalived2.备份配置文件
cp /etc/keepalived/keepalived.conf{,.bak}3.修改配置文件
vim /etc/keepalived/keepalived.conf
global_defs {router_id lb02
}vrrp_instance vip_3 {state BACKUPinterface ens33virtual_router_id 51priority 50advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {10.0.0.3 dev ens33 label ens33:0}
}4.重启keepalived服务
systemctl restart keepalived.service

5. ✅总结

  • zrlog与nginx结合🌟🌟🌟🌟🌟
  • zrlog集群🌟🌟🌟🌟🌟
  • zrlog动静分离

http://www.xdnf.cn/news/14977.html

相关文章:

  • 《Spring 中上下文传递的那些事儿》Part 4:分布式链路追踪 —— Sleuth + Zipkin 实践
  • Python 闭包(Closure)实战总结
  • 【PyCharm 2025.1.2配置debug】
  • 分类树查询性能优化:从 2 秒到 0.1 秒的技术蜕变之路
  • 低代码实战训练营教学大纲 (10天)
  • [特殊字符] 电子机械制动(EMB)产业全景分析:从技术演进到千亿市场爆发
  • 网络编程学习路线图
  • Python 爬虫实战 | 国家医保
  • OpenBayes 教程上新丨医疗VLM新突破!HealthGPT对复杂MRI模态理解准确率达99.7%,单一模型可处理多类生成任务
  • 一天两道力扣(1)
  • 高效打字辅助工具,解决符号输入难题
  • 使用pdf box去水印
  • Part 0:射影几何,变换与估计-第三章:3D射影几何与变换
  • 分享|大数据分析师职业技术证书报考指南
  • 推荐系统中如果有一个上古精排模型,后续如何优化?
  • 遇到该问题:kex_exchange_identification: read: Connection reset`的解决办法
  • github在线图床
  • PostgreSQL中的rank()窗口函数:实用指南与示例
  • 浏览器原生控件上传PDF导致hash值不同
  • 制作一款打飞机游戏76:分数显示
  • 微软广告推出新的精细资产级别审核
  • 无代码自动化测试工具介绍
  • SpringBoot控制反转
  • CentOS 6操作系统安装
  • 05.SpringBoot拦截器的使用详解
  • 玄机——某学校系统中挖矿病毒应急排查
  • 人脸活体识别3:C/C++实现人脸眨眼 张嘴 点头 摇头识别(可实时检测)
  • lerobot 工程笔记(一)——使用smolvla控制so101
  • 【AI落地应用实战】AIGC赋能职场PPT汇报:从效率工具到辅助优化
  • Docker Compose 基础——AI教你学Docker