阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Tomcat服务器搭建实验

452次阅读
没有评论

共计 11464 个字符,预计需要花费 29 分钟才能阅读完成。

Tomcat 服务器搭建实验

1. 实现 LNT

同主机实现

1、安装并启动 tomcat
1)OpenJDK 的安装
    yum install java-1.8.0-openjdk-devel.x86_64 
    确定 JDK 是否安装可以使用如下命令
        java -version    ## 可以看到版本,说明安装成功
2)tomcat 安装
    yum install tomcat tomcat-admin-webapps tomcat-docs-webapp tomcat-webapps
    service tomcat start
    ss -ntl 
        监听的端口有三个:8080http 协议的接口,8009为 ajp 协议的接口,8005为管理接口
2、安装 nginx 并配置
    vim /etc/nginx/nginx.conf
        在 server 段增加如下内容
        root     /usr/local/tomcat/webapps/ROOT;   ## 表示访问静态文件就访问 nginx 的这个目录,此目录是 tomcat 默认根目录。
        index index.jsp;
        location ~* \.(jsp|do)$ {## 访问的是 jsp 或者 do 结尾的动态文件就调度到后端主机 tomcat
                proxy_pass http://192.168.213.251:8080;
                }
    nginx -t
    service nginx restart  
    http://192.168.213.251/    ## 这里直接访问 80 端口就可以了看到 tomcat 默认主页面了

2. 实现 LAT

同主机(静态网页)

1、安装并启动 tomcat
1)OpenJDK 的安装
    yum install java-1.8.0-openjdk-devel.x86_64 
    确定 JDK 是否安装可以使用如下命令
        java -version    ## 可以看到版本,说明安装成功
2)tomcat 安装
    yum install tomcat tomcat-admin-webapps tomcat-docs-webapp tomcat-webapps
    service tomcat start
    ss -ntl 
        监听的端口有三个:8080http 协议的接口,8009为 ajp 协议的接口,8005为管理接口
2、安装 httpd 服务并确保有 ajp_module 和 http_module
    httpd -M |grep "proxy"     ## 查看模块是否已经加载,如果没有加载,要在配置文件中加载这些模块
         proxy_module (shared)
         proxy_ajp_module (shared)    ## 表示反向代理时后端服务器是 aip 协议
         proxy_balancer_module (shared)
         proxy_connect_module (shared)
         proxy_express_module (shared)
         proxy_fcgi_module (shared)
         proxy_fdpass_module (shared)
         proxy_ftp_module (shared)
         proxy_http_module (shared)   ## 表示反向代理时后端主机时 http 协议
         proxy_scgi_module (shared)
         proxy_wstunnel_module (shared)
3、与后端 tomcat 使用 http 协议连接时配置
    vim /etc/httpd/conf.d/tomcat.conf
        <virtualhost *:80>
                documentroot "/usr/share/tomcat/webapps/ROOT"
                <directory "usr/local/tomcat/webapps/ROOT">
                require all granted
                </directory>
                proxyrequests off     ## 关闭正向代理,不加可以
                proxyvia on           
                proxypreservehost on    
                proxypass "/" "http://127.0.0.1:8080/"  
                proxypassreverse "/" "http://127.0.0.1:8080/"  
        </virtualhost>
    httpd -t
    systemctl start httpd
    测试:http://172.18.21.107/
4、与后 tomcat 连接时使用的 ajp 协议时的配置
    vim /etc/httpd/conf.d/tomcat.conf
        <virtualhost *:80>
                documentroot "/usr/local/tomcat/webapps/ROOT"
                <directory "usr/local/tomcat/webapps/ROOT">
                          require all granted
                </directory>
                proxyrequests off
                proxyvia on
                proxypreservehost on
                proxypass "/" "ajp://127.0.0.1:8009/"
                proxypassreverse "/" "ajp://127.0.0.1:8009/"
        </virtualhost>
    httpd -t
    systemctl reload httpd
5、测试
    http://172.18.21.107/

3. 实现 lnmt 的 zrlog 博客搭建

环境:
A 主机:tomcat,nginx,ip 地址为 192.168.213.251
B 主机:数据库,ip 地址为 192.168.213.253

1)在 A 上操作
    1、安装 openjdk
        yum install java-1.8.0-openjdk-devel.x86_64 
        java -version   --- 确认是否安装成功
    2、安装 tomcat
        yum install tomcat tomcat-admin-webapps tomcat-docs-webapp tomcat-webapps
        systemctl start tomcat
        http://192.168.213.251:8080   ## 可以访问 tomcat 的默认网站
    3、将 zrlog 放到 tomcat 的根目录下
        mv  app/zrlog-1.7.1-release.war /usr/share/tomcat/webapps
        systemctl restart tomcat
        ls   ## 发现文件被自动解开
        docs      host-manager  manager  zrlog-1.7.1-release
        examples  logs          ROOT     zrlog-1.7.1-release.war
        [root@CentOS7 webapps]#ln -s zrlog-1.7.1-release zrlog
    4、安装 nginx 并修改配置
        vim /etc/nginx/nginx.conf
            在 server 段增加如下内容
                 root     /usr/local/tomcat/webapps;  ## 表示访问静态文件就访问 nginx 的这个目录,此目录是 tomcat 默认根目录。
                 index index.jsp;
                        location / {      ## 访问的是 jsp 或者 do 结尾的动态文件就调度到后端主机 tomcat,此处为本地
                        proxy_pass http://192.168.213.251:8080;
                        }
        nginx -t
        service nginx restart
        http://192.168.213.251/    ## 这里直接访问 80 端口就可以了看到 tomcat 默认主页面了
2)在 B 上的设置
    安装数据库
        yum install mariadb-server
        systemctl start mariadb
        mysql
        create database zrlog;
        grant all on zrlog.* to zrloguser@'%' identified by "centos";
3)测试:
    登录网站
    http://192.168.213.251/zrlog/

4. 实现 nginx 和 httpd 反代 tomcat 集群

环境
A:nginx 和 httpd:192.168.213.253
B:tomcat:192.168.213.251
C:tomcat:192.168.213.254

1》nginx 反代
    1、在 B 和 C 上的设置
        mkdir -pv /usr/share/tomcat/webapps/myapp/WEB-INF
        vim /usr/share/tomcat/webapps/myapp/index.jsp
            <%@ page language="java" %>
            <%@ page language="java" %>
            <html>
            <head><title>TomcatA</title></head>
            <body>
            <h1><font color="red">TomcatA.com</font></h1>   ## 在 C 上将颜色改为 green,Tomcat 改为 B 
            <table align="centre" border="1">
            <tr>
            <td>Session ID</td>
            <% session.setAttribute("shen.com","shen.com"); %>
            <td><%= session.getId() %></td>
            </tr>
            <tr> 
            <td>Created on</td> 
            <td><%= session.getCreationTime() %></td> 
            </tr>   
            </table>
            </body> 
             </html> 
        http://172.18.213.251:8080/myapp/
        http://172.18.213.254:8080/myapp/
    2、A 上设置
        vim /etc/nginx/nginx.conf
            在 http 中配置
                upstream tomcatsrv {server 192.168.213.251:8080 ;
                    server 192.168.213.254:8080 ;
                    }
                  server {listen 80 default_server;
                    listen       [::]:80 default_server;
                    index index.jsp ;
                    root /usr/share/tomcat/webapps/app;
                    location / {proxy_pass http://tomcatsrv ;
                    }
        service nginx restart
        http://172.18.213.253/myapp/
2》httpd 反代
    1、在 B 和 C 上的设置同上
    2、在调度器上的设置
        vim /etc/httpd/conf.d/tomcat.conf
            <proxy balancer://tomcatsrvs>                  ## 定义一个后端服务器组
                BalancerMember http://192.168.213.251:8080 ## 如果和后端服务器连接的协议为 ajp 协议,把 http 改为 ajp 并且把端口改为 8009 即可
                BalancerMember http://192.168.213.254:8080 
                ProxySet lbmethod=byrequests        
            </proxy>
            namevirtualhost *:80
            <VirtualHost *:80>
                    documentroot /app
                    <Directory /app>
                        Require all granted
                    </Directory>
                    ProxyVia On
                    ProxyRequests Off
                    ProxyPass / balancer://tomcatsrvs/
                    ProxyPassReverse / balancer://tomcatsrvs/
            </VirtualHost>
        httpd -t
        service httpd start
        http://172.18.213.253/app/
        httpd 的负载集群功能具有健康状态检查功能
        可以把后端的一个 tomcat 停掉
        然后访问 http://172.18.213.253/app/
        会发现不往关闭的 tomcat 主机调度了

5. 实现 httpd 和 nginx 的会话粘性绑定

环境
A:nginx 和 httpd:192.168.213.253
B:tomcat:192.168.213.251
C:tomcat:192.168.213.254

1)httpd 会话绑定
        在 B 和 C 上设置
            vim /etc/tomcat/server.xml 
                 <Engine name="Catalina" defaultHost="localhost" jvmroute="tomcatA">   ## 在 B 上此行增加一个 jvmroute="tomcatA,在 C 上此行增加 jvmroute="tomcatB"
            systemctl restart tomcat
        在 A 上设置
            vim /etc/httpd/conf.d/tomcat.conf
                Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED 
                <proxy balancer://tomcatsrvs>
                    BalancerMember http://172.18.213.251:8080 route=tomcatA
                    BalancerMember http://172.18.213.254:8080 route=tomcatB
                    ProxySet lbmethod=byrequests
                    ProxySet stickysession=ROUTEID
                </Proxy>
                namevirtualhost *:80
                <VirtualHost *:80>
                    documentroot /app
                    <directory /app>
                        Require all granted
                    </directory>
                    ProxyVia On
                    ProxyRequests Off
                    ProxyPass / balancer://tomcatsrvs/
                    ProxyPassReverse / balancer://tomcatsrvs/
                </VirtualHost>
            service httpd reload
        http://172.18.213.253/app/

Tomcat 服务器搭建实验

2)nginx 会话绑定
    在 B 和 C 上操作同上
    在 A 上配置
            vim /etc/nginx/nginx.conf
                upstream tomcatsrv {server 192.168.213.251:8080 ;
                    server 192.168.213.254:8080 ;
                    hash $request_uri consistent;
                }
                server {listen 80 default_server;
                    listen [::]:80 default_server;
                    index index.jsp ;
                    root /usr/share/tomcat/webapps;
                    location / {proxy_pass http://tomcatsrv ;
                    }
                 }
            service nginx restart
    http://172.18.213.253/app
        发现只能调度至第一次访问的后端服务器,实现会话绑定。

6. 两个 tomcat 服务器保存有相同的会话

环境
A:nginx 和 httpd:192.168.213.253
B:tomcat:192.168.213.251
C:tomcat:192.168.213.254

1)在 B 和 C 上的设置
    访问 tomcat 的官方文档
            http://192.168.213.254:8080/docs/cluster-howto.html,Document---->Clustering
    将官方文档中的如下内容复制到 tomcat 配置文件的 <engine><host>中, 此实验放到 Engine 中
    vim /etc/tomcat/server.xml 
            <Engine name="Catalina" defaultHost="localhost">
            <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8">
            <Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/>
            <Channel className="org.apache.catalina.tribes.group.GroupChannel">
            <Membership className="org.apache.catalina.tribes.membership.McastService"
                address="228.74.74.74"  
                port="45564"
                frequency="500"        ## 表示每 0.5s 发送一次心跳信息告诉其他成员自己还活着
                dropTime="3000"/>   ## 表示 3s 没有发送信息就证明坏了
            <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
                address="172.18.213.251"   ## 另外一台主机修改为172.18.213.254
                port="4000"
                autoBind="100"
                selectorTimeout="5000"
                maxThreads="6"/>          
            <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
            <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
            </Sender>
            <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
            <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
            </Channel>
            <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/>
            <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
            <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false"/>
            <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
            <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
            </Cluster>
            
    cp /etc/tomcat/web.xml /usr/share/tomcat/webapps/app/WEB-INF/   
    cd /usr/share/tomcat/webapps/app/WEB-INF/
    vim web.xml 
            在此文件内部没有注释的地方加如下内容
            <distributable/>   ## 注意一定要在这个文件的内部,就在<web.app 下加上就可
    systemctl restart tomcat
    注意:CentOS 7上的 tomcat 自带的文档中的配置示例有语法错误;没有加最后的 /
                <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
                <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
2)在 A 的设置
        vim /etc/httpd/conf.d/tomcat.conf
            <proxy balancer://tomcatsrvs>
                BalancerMember http://172.18.213.251:8080 
                BalancerMember http://172.18.213.254:8080
                ProxySet lbmethod=byrequests
            </Proxy>
            namevirtualhost *:80
            <VirtualHost *:80>
                documentroot /app
                <directory /app>
                    Require all granted
                </directory>
                ProxyVia On
                ProxyRequests Off
                ProxyPass / balancer://tomcatsrvs/
                ProxyPassReverse / balancer://tomcatsrvs/
            </VirtualHost>
        service httpd reload
    http://172.18.213.253/app/

Tomcat 服务器搭建实验

Tomcat 服务器搭建实验

6. 实现 session 会话保持到 memcache 服务器

要想将会话保存至后端 memcache 中,并且每个 memcache 都保存相同的会话,需要一个管理项目 memcached-session-manager,项目地址:https://github.com/magro/memcached-session-manager,找到 SetupAndConfiguration wiki page. 并点击进去。其中
在 Add memcached-session-manager jars to tomcat 处下载(根据所需进行下载)下载.jar 文件至各 tomcat 的 /usr/share/tomcat/lib/ 目录中,其中的 ${version}要换成你所需要的版本号,tc${6,7,8}要选与 tomcat 版本相同的版本号。memcached-session-manager-2.1.1.jar
        memcached-session-manager-tc7-2.1.1.jar   ## 要根据 tomcat 的版本,实验时是 7 版本,所以这里要下载 tc7
        spymemcached-2.9.1.jar
在 Add custom serializers to your webapp (optional)处下载(根据所需进行下载)这里下载的是 kryo-serializer,有如下 jar 文件需要下载
        msm-kryo-serializer-2.1.1.jar
        kryo-serializers-0.42.jar
        kryo-4.0.1.jar
        minlog-1.3.0.jar
        reflectasm-1.11.3-shaded.jar
        reflectasm-1.11.3.jar
        asm-5.2.jar
        objenesis-2.6.jar

实现过程如下

        1、在 director 上实现 nginx 或者 httpd 的反向代理至 tomcat 集群,本实验用的是 httpd
                vim /etc/httpd/conf.d/tomcat.conf 
                    <proxy balancer://tomcatsrvs>
                        BalancerMember http://172.18.213.251:8080
                        BalancerMember http://172.18.213.254:8080
                        ProxySet lbmethod=byrequests
                    </Proxy>
                    namevirtualhost *:80
                    <VirtualHost *:80>
                        documentroot /app
                        <directory /app>
                            Require all granted
                        </directory>
                        ProxyVia On
                        ProxyRequests Off
                        ProxyPass / balancer://tomcatsrvs/
                        ProxyPassReverse / balancer://tomcatsrvs/
                    </VirtualHost>
                service httpd start
        2、在两个后端服务器上的设置
                安装 tomcat 和 memcache 并启动服务
                yum install memcached -y
                systemctl start memcached
                ls /usr/share/tomcat/lib/          ## 复制.jar 文件到此目录
                vim /etc/tomcat/server.xml  ## 将官方文档中的此段内容复制到 tomcat 的配置文件中
                     <Context path="/app" docBase="/usr/share/tomcat/webapps/app" reloadable="true">
                     <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
                        memcachedNodes="n1:172.18.213.254:11211,n2:172.18.213.254:11211"
                        failoverNodes="n1"
                             requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
                        transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"/>
                    </Context>
                systemctl restart tomcat
        3、测试
                安装客户端工具
                yum install -y libmemcached    ## 不安装此软件包无法使用 memdump 等客户端工具
                http://172.18.213.253/app/      ## 访问发现被调度到不同的 tomcat 主机,但会话是一样的
                memdump --server 172.18.21.107:11211     ## 此命令可以查看到 memcache 中缓存的值
                systemctl stop memcached     ## 关闭一台 memcached
                http://172.18.213.253/app/      ## 继续访问发现会话仍然不变,说明会话在两台 memcache 中都缓存了

更多 Tomcat 相关教程见以下内容

CentOS 6.6 下安装配置 Tomcat 环境  http://www.linuxidc.com/Linux/2015-08/122234.htm

RedHat Linux 5.5 安装 JDK+Tomcat 并部署 Java 项目  http://www.linuxidc.com/Linux/2015-02/113528.htm 

Tomcat 权威指南(第二版)(中英高清 PDF 版 + 带书签)  http://www.linuxidc.com/Linux/2015-02/113062.htm 

Tomcat 安全配置与性能优化 http://www.linuxidc.com/Linux/2015-02/113060.htm 

Linux 下使用 Xshell 查看 Tomcat 实时日志中文乱码解决方案 http://www.linuxidc.com/Linux/2015-01/112395.htm 

CentOS 64-bit 下安装 JDK 和 Tomcat 并设置 Tomcat 开机启动操作步骤 http://www.linuxidc.com/Linux/2015-01/111485.htm 

Ubuntu 16.04 下安装 Tomcat 8.5.9  http://www.linuxidc.com/Linux/2017-06/144809.htm

Ubuntu 16.04 安装 Tomcat 8 图解  http://www.linuxidc.com/Linux/2017-10/147773.htm

Tomcat 配置文件 server.xml 详解  http://www.linuxidc.com/Linux/2017-10/148003.htm

Tomcat 单机多实例部署 - 多项目部署  http://www.linuxidc.com/Linux/2017-10/147259.htm

Tomcat 的详细介绍:请点这里
Tomcat 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-11/148556.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计11464字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7963226
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
亚马逊云崩完,微软云崩!当全球第二大云“摔了一跤”:Azure 宕机背后的配置风险与警示

亚马逊云崩完,微软云崩!当全球第二大云“摔了一跤”:Azure 宕机背后的配置风险与警示

亚马逊云崩完,微软云崩!当全球第二大云“摔了一跤”:Azure 宕机背后的配置风险与警示 首先来回顾一下 10...
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...
12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换...
【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024 程序员】我劝你赶紧去免费领一个 AWS、华为云等的主机 每年 10 月 24 日,程序员们都会迎来...
我用AI做了一个1978年至2019年中国大陆企业注册的查询网站

我用AI做了一个1978年至2019年中国大陆企业注册的查询网站

我用 AI 做了一个 1978 年至 2019 年中国大陆企业注册的查询网站 最近星哥在 GitHub 上偶然...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...
开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

  开源 MoneyPrinterTurbo 利用 AI 大模型,一键生成高清短视频! 在短视频内容...
手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板 前言 大家好,我是星哥。星哥发现很多新手刚接触服务器时,都会被“选购...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...
自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个 AI 智能体 — 跟创业大佬对话 前言 智能体(Agent)已经成为创业者和技术人绕...