tomcat使用
前置知识
tomcat概念
Tomcat是由Java编写的一个开源的、轻量级的应用服务器,是Apache软件基金会的一个项目。它实现了Java Servlet、JavaServer Pages(JSP)和Java Expression Language(EL)等Java技术,用于支持在Java平台上运行的动态Web应用程序。Tomcat的全名是Apache Tomcat。
tomcat作用
Tomcat 是一个开源的 Java Servlet 容器,主要用于运行 Java Web 应用程序。
运行 Java Web 应用程序
? Servlet 和 JSP 支持
Tomcat 是 Java Servlet 和 JavaServer Pages(JSP)技术的官方实现。它能够处理基于 Servlet 和 JSP 的 Web 应用程序,使得开发者可以使用 Java 语言开发动态 Web 内容。例如,开发者可以创建一个基于 Servlet 的用户登录功能,当用户提交登录表单时,Servlet 可以处理用户的请求,验证用户名和密码,并根据验证结果返回相应的页面。
? Web 应用部署
它支持将 Java Web 应用程序打包为 WAR(Web Application Archive)文件进行部署。开发者只需将 WAR 文件放到 Tomcat 的 webapps 目录下,Tomcat 会自动解压并启动该应用。例如,一个电商网站的后端应用可以被打包为 WAR 文件,部署到 Tomcat 上,用户通过浏览器访问该网站时,Tomcat 会处理用户的请求并返回相应的商品页面。
提供 Web 服务器功能
? HTTP/HTTPS 服务
Tomcat 本身就是一个 Web 服务器,可以接收和处理 HTTP/HTTPS 请求。它可以配置为监听特定的端口(如默认的 8080 端口),接收用户的浏览器请求,并将处理后的结果(如 HTML 页面、图片等)返回给客户端。例如,用户在浏览器中输入一个基于 Tomcat 部署的网站的 URL,Tomcat 会根据请求的路径找到对应的资源并返回。
? 静态资源服务
它能够提供静态资源(如 HTML 文件、CSS 文件、JavaScript 文件、图片等)的服务。当用户请求一个静态资源时,Tomcat 会从文件系统中找到对应的文件并发送给客户端。例如,一个简单的个人博客网站的页面样式文件(CSS 文件)可以通过 Tomcat 提供给用户。
开发和测试 Java Web 应用程序
? 开发环境支持
对于 Java Web 开发者来说,Tomcat 是一个常用的开发环境。它提供了热部署功能,开发者在修改代码后,无需重新启动服务器即可看到修改后的效果。例如,开发者在开发一个基于 JSP 的新闻网站时,修改了新闻列表页面的 JSP 文件后,保存文件后刷新浏览器即可看到更新后的页面。
? 集成开发环境(IDE)支持
Tomcat 可以与各种 Java IDE(如 Eclipse、IntelliJ IDEA 等)集成,方便开发者进行开发和调试。IDE 可以直接将项目部署到 Tomcat 中,并提供调试工具来帮助开发者查找和修复代码中的问题。
回到顶部
安装部署tomcat
环境信息
IP | 主机名 | Linux系统 | 规格 |
10.0.0.21 | tomcat | Ubuntu22.04 | 2c4g |
tomcat是由Java编写的,所以安装tomcat之前我们需要先安装jdk,我们这里使用jdk8和tomcat9.0.50版本
安装jdk
java由于被Oracle公司收购,所以下载jdk需要去Oracle官网下载 https://www.oracle.com/
但是在Oracle官方下载是需要收费的,我们可以选择下载open-jdk,下载地址:https://jdk.java.net/java-se-ri/8-MR6
| | | | --- | --- | | | [root@tomcat ~]#mkdir-p /app/tools &&cd/app/tools | | | [root@tomcat /app/tools]# wget https://download.java.net/openjdk/jdk8u44/ri/openjdk-8u44-linux-x64.tar.gz | | | [root@tomcat /app/tools]# tar -xf openjdk-8u44-linux-x64.tar.gz | | | [root@tomcat /app/tools]#ln-s /app/tools/java-se-8u44-ri/ /app/tools/jdk | | | [root@tomcat /app/tools]# ll | | | total 210968 | | | drwxr-xr-x 3 root root 4096 Apr 4 13:15 ./ | | | drwxr-xr-x 3 root root 4096 Apr 4 13:03 ../ | | | drwxr-xr-x 9 uucp 143 4096 May 23 2024 java-se-8u44-ri/ | | | lrwxrwxrwx 1 root root 27 Apr 4 13:15 jdk -> /app/tools/java-se-8u44-ri// | | | -rw-r--r-- 1 root root 216015848 May 23 2024 openjdk-8u44-linux-x64.tar.gz | | | [root@tomcat /app/tools]#cat>> /etc/profile <
安装tomcat
tomcat官网地址:https://tomcat.apache.org/
| | | | --- | --- | | | [root@tomcat /app/tools/tomcat]# wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.50/bin/apache-tomcat-9.0.50.tar.gz | | | --2025-04-04 1305-- https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.50/bin/apache-tomcat-9.0.50.tar.gz | | | Resolving archive.apache.org (archive.apache.org)... 65.108.204.189, 2a011a:2 | | | Connecting to archive.apache.org (archive.apache.org)|65.108.204.189|:443... connected. | | | HTTP request sent, awaiting response... 200 OK | | | Length: 11507318 (11M) [application/x-gzip] | | | Saving to: ‘apache-tomcat-9.0.50.tar.gz’ | | | | | | apache-tomcat-9.0.50.tar.gz 100%[=================================================================================================================>] 10.97M 1.71MB/s in7.7s | | | | | | 2025-04-04 1314 (1.42 MB/s) - ‘apache-tomcat-9.0.50.tar.gz’ saved [11507318/11507318] | | | | | | [root@tomcat /app/tools/tomcat]# tar -xf apache-tomcat-9.0.50.tar.gz | | | [root@tomcat /app/tools/tomcat]#ln-s `pwd`/apache-tomcat-9.0.50 `pwd`/tomcat | | | [root@tomcat /app/tools/tomcat]# ll | | | total 11252 | | | drwxr-xr-x 3 root root 4096 Apr 4 13:32 ./ | | | drwxr-xr-x 4 root root 4096 Apr 4 13:28 ../ | | | drwxr-xr-x 9 root root 4096 Apr 4 13:29 apache-tomcat-9.0.50/ | | | -rw-r--r-- 1 root root 11507318 Jun 28 2021 apache-tomcat-9.0.50.tar.gz | | | lrwxrwxrwx 1 root root 38 Apr 4 13:32 tomcat -> /app/tools/tomcat/apache-tomcat-9.0.50/ | | | |
启动tomcat
| | | | --- | --- | | | [root@tomcat /app/tools/tomcat]#cdtomcat/bin/ | | | [root@tomcat /app/tools/tomcat/tomcat/bin]# ./startup.sh | | | Using CATALINA_BASE: /app/tools/tomcat/tomcat | | | Using CATALINA_HOME: /app/tools/tomcat/tomcat | | | Using CATALINA_TMPDIR: /app/tools/tomcat/tomcat/temp | | | Using JRE_HOME: /app/tools/jdk | | | Using CLASSPATH: /app/tools/tomcat/tomcat/bin/bootstrap.jar:/app/tools/tomcat/tomcat/bin/tomcat-juli.jar | | | Using CATALINA_OPTS: | | | Tomcat started. | | |##检查Java进程 | | | [root@tomcat /app/tools/tomcat/tomcat/bin]# ps -ef | grep java | | | root 14131 1 7 13:33 pts/0 0001 /app/tools/jdk/bin/java -Djava.util.logging.config.file=/app/tools/tomcat/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /app/tools/tomcat/tomcat/bin/bootstrap.jar:/app/tools/tomcat/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/app/tools/tomcat/tomcat -Dcatalina.home=/app/tools/tomcat/tomcat -Djava.io.tmpdir=/app/tools/tomcat/tomcat/temp org.apache.catalina.startup.Bootstrap start | | | root 14161 1081 0 13:33 pts/0 0000 grep --color=auto java | | | [root@tomcat /app/tools/tomcat/tomcat/bin]# | | |##检查端口号 | | | [root@tomcat /app/tools/tomcat/tomcat/bin]# ss -lntup | grep 8080 | | | tcp LISTEN 0 100 *:8080 *:* users:(("java",pid=14131,fd=56)) | | | |出现上述进程和端口号表示tomcat启动成功,我们打开浏览器测试一下
至此安装tomcat结束
回到顶部
tomcat目录结构
我们安装后发现tomcat的有很多目录,那这些目录有什么作用呢?
| | | |---|---| | |[root@tomcat/app/tools/tomcat/tomcat/bin]# cd /app/tools/tomcat/tomcat | | |[root@tomcat/app/tools/tomcat/tomcat]# ll | | |total156| | |drwxr-xr-x9rootroot4096Apr413:29./| | |drwxr-xr-x3rootroot4096Apr413:32../| | |-rw-r-----1rootroot18949Jun282021BUILDING.txt| | |-rw-r-----1rootroot6210Jun282021CONTRIBUTING.md| | |-rw-r-----1rootroot57092Jun282021LICENSE| | |-rw-r-----1rootroot2333Jun282021NOTICE| | |-rw-r-----1rootroot3372Jun282021README.md| | |-rw-r-----1rootroot6898Jun282021RELEASE-NOTES| | |-rw-r-----1rootroot16507Jun282021RUNNING.txt| | |drwxr-x---2rootroot4096Apr413:29bin/| | |drwx------3rootroot4096Apr413:33conf/| | |drwxr-x---2rootroot4096Apr413:29lib/| | |drwxr-x---2rootroot4096Apr413:33logs/| | |drwxr-x---2rootroot4096Apr413:29temp/| | |drwxr-x---7rootroot4096Jun282021webapps/| | |drwxr-x---3rootroot4096Apr413:33work/|
bin目录
bin目录下放置了很多关于tomcat的可执行脚本
其中最为主要的有几个?startup.sh:Linux中启动tomcat的脚本
?startup.bat:Windows中启动tomcat的脚本
?shutdown.sh:Linux中关闭tomcat的脚本
?shutdown.bat:Windows中关闭tomcat的脚本
?catalina.sh:Linux中tomcat的核心脚本文件,里面配置了tomcat的启动、关闭方式,以及tomcat的优化和jvm优化
?catalina.bat:Windows中Linux中tomcat的核心脚本文件,里面配置了tomcat的启动、关闭方式,以及tomcat的优化和jvm优化
| | | |---|---| | |[root@tomcat/app/tools/tomcat/tomcat]# ll bin/ | | |total884| | |drwxr-x---2rootroot 4096Apr413:29./| | |drwxr-xr-x9rootroot 4096Apr413:29../| | |-rw-r-----1rootroot34698Jun282021bootstrap.jar| | |-rw-r-----1rootroot 1664Jun282021catalina-tasks.xml| | |-rw-r-----1rootroot16840Jun282021catalina.bat| | |-rwxr-x---1rootroot25294Jun282021catalina.sh*| | |-rw-r-----1rootroot 2123Jun282021ciphers.bat| | |-rwxr-x---1rootroot 1997Jun282021ciphers.sh*| | |-rw-r-----1rootroot207420Jun282021commons-daemon-native.tar.gz| | |-rw-r-----1rootroot25357Jun282021commons-daemon.jar| | |-rw-r-----1rootroot 2040Jun282021configtest.bat| | |-rwxr-x---1rootroot 1922Jun282021configtest.sh*| | |-rwxr-x---1rootroot 9100Jun282021daemon.sh*| | |-rw-r-----1rootroot 2091Jun282021digest.bat| | |-rwxr-x---1rootroot 1965Jun282021digest.sh*| | |-rw-r-----1rootroot 3606Jun282021makebase.bat| | |-rwxr-x---1rootroot 3382Jun282021makebase.sh*| | |-rw-r-----1rootroot 3460Jun282021setclasspath.bat| | |-rwxr-x---1rootroot 3708Jun282021setclasspath.sh*| | |-rw-r-----1rootroot 2020Jun282021shutdown.bat| | |-rwxr-x---1rootroot 1902Jun282021shutdown.sh*| | |-rw-r-----1rootroot 2022Jun282021startup.bat| | |-rwxr-x---1rootroot 1904Jun282021startup.sh*| | |-rw-r-----1rootroot46614Jun282021tomcat-juli.jar| | |-rw-r-----1rootroot425741Jun282021tomcat-native.tar.gz| | |-rw-r-----1rootroot 4574Jun282021tool-wrapper.bat| | |-rwxr-x---1rootroot 5540Jun282021tool-wrapper.sh*| | |-rw-r-----1rootroot 2026Jun282021version.bat| | |-rwxr-x---1rootroot 1908Jun282021version.sh*|
conf目录
conf目录中主要存放了关于tomcat的配置文件
? server.xml
? 配置了关于tomcat的http、https协议以及端口号
? 站点管理目录(是否自动解压、自动部署)
? 日志格式
? web.xml
辅助配置文件
| | | |---|---| | |[root@tomcat/app/tools/tomcat/tomcat]# ll conf/ | | |total244| | |drwx------3rootroot 4096Apr413:33./| | |drwxr-xr-x9rootroot 4096Apr413:29../| | |drwxr-x---3rootroot 4096Apr413:33Catalina/| | |-rw-------1rootroot13052Jun282021catalina.policy| | |-rw-------1rootroot 7262Jun282021catalina.properties| | |-rw-------1rootroot 1400Jun282021context.xml| | |-rw-------1rootroot 1149Jun282021jaspic-providers.xml| | |-rw-------1rootroot 2313Jun282021jaspic-providers.xsd| | |-rw-------1rootroot 4144Jun282021logging.properties| | |-rw-------1rootroot 7589Jun282021server.xml| | |-rw-------1rootroot 2756Jun282021tomcat-users.xml| | |-rw-------1rootroot 2558Jun282021tomcat-users.xsd| | |-rw-------1rootroot172359Jun282021web.xml| | | |
server.xml配置文件详解
| | | | --- | --- | | | [root@tomcat /app/tools/tomcat/tomcat]# cat conf/server.xml | | || | | | | | | | || | | | | | || | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | || | | | | | | | | | | | | | | | | || | | | | | | | | | | | | | || | | | | | | | | | | || | | | | | | | | | | || | | | | |
tomcat日志格式说明
? %h:客户端的IP地址
? %l:远程逻辑用户名(通常为空)。
? %u:远程用户(如果启用了身份验证)
? %t:访问时间
? %r:请求起始行。请求方法,请求uri
? %s:http状态码,例如200,404
? %b:发送给客户端的字节数
? ":双引号
logs目录
logs目录主要存放了关于tomcat的一些日志
? catalina.out:tomcat应用日志
? catalina.2025-04-04.log:切割日志,按照每天进行切割
? localhost_access_log.2025-04-04.txt :访问日志
| | | |--- | --- | | |[root@tomcat/app/tools/tomcat/tomcat]# ll logs| | |total32| | |drwxr-x--- 2 root root 4096 Apr 4 13:33 ./ | | |drwxr-xr-x9root root4096Apr 413:29../| | |-rw-r----- 1 root root 5955 Apr 4 13:33 catalina.2025-04-04.log | | |-rw-r----- 1 root root 5955 Apr 4 13:33 catalina.out | | |-rw-r----- 1 root root 0 Apr 4 13:33 host-manager.2025-04-04.log | | |-rw-r----- 1 root root 408 Apr 4 13:33 localhost.2025-04-04.log | | |-rw-r----- 1 root root 711 Apr 4 13:35 localhost_access_log.2025-04-04.txt | | |-rw-r----- 1 root root 0 Apr 4 13:33 manager.2025-04-04.log | | | |
webapps目录
webapps目录是tomcat的站点目录,要部署Java项目时,需要将Java的war包放在该目录下,其中ROOT目录是项目的根目录,放在ROOT目录下的项目访问时可以不用带路径,只需要http://ip:port即可访问,如果是在manager目录下,我们访问该项目需要http://ip:port/manager进行访问
| | | |---|---| | |[root@tomcat/app/tools/tomcat/tomcat]# ll webapps/ | | |total28| | |drwxr-x---7rootroot4096Jun282021./| | |drwxr-xr-x9rootroot4096Apr413:29../| | |drwxr-x---3rootroot4096Apr413:29ROOT/| | |drwxr-x---15rootroot4096Apr413:29docs/| | |drwxr-x---7rootroot4096Apr413:29examples/| | |drwxr-x---6rootroot4096Apr413:29host-manager/| | |drwxr-x---6rootroot4096Apr413:29manager/|
回到顶部
案例:部署zrlog应用
在这里感谢zrlog的提供方:https://gitee.com/94fzb/zrlog
| | | | --- | --- | | |#下载zrlog应用的war包 | | | [root@tomcat /app/tools/tomcat/tomcat]#mkdir/app/war &&cd/app/war | | | [root@tomcat /app/war]# wget https://dl.zrlog.com/release/zrlog.war | | | --2025-04-04 1417-- https://dl.zrlog.com/release/zrlog.war | | | Resolving dl.zrlog.com (dl.zrlog.com)... 154.17.224.166 | | | Connecting to dl.zrlog.com (dl.zrlog.com)|154.17.224.166|:443... connected. | | | HTTP request sent, awaiting response... 200 OK | | | Length: 10794045 (10M) [application/java-archive] | | | Saving to: ‘zrlog.war’ | | | | | | zrlog.war 100%[=================================================================================================================>] 10.29M 1.30MB/s in9.3s | | | | | | 2025-04-04 1428 (1.11 MB/s) - ‘zrlog.war’ saved [10794045/10794045] | | | | | |#将tomcat原来的站点目录移走,做个备份 | | | [root@tomcat /app/war]#mv/app/tools/tomcat/tomcat/webapps /app/tools/tomcat/tomcat/webapps_bak_20250404 | | | [root@tomcat /app/war]#mkdir-p /app/tools/tomcat/tomcat/webapps | | |#将zrlog移动至站点目录,并重命名为ROOT.war | | | [root@tomcat /app/war]#mv/app/war/zrlog.war /app/tools/tomcat/tomcat/webapps/ROOT.war | | |#检查 | | | [root@tomcat /app/war]# ll /app/tools/tomcat/tomcat/webapps/ | | | total 10556 | | | drwxr-xr-x 3 root root 4096 Apr 4 14:22 ./ | | | drwxr-xr-x 10 root root 4096 Apr 4 14:21 ../ | | | drwxr-x--- 9 root root 4096 Apr 4 14:22 ROOT/ | | | -rw-r--r-- 1 root root 10794045 Jul 10 2024 ROOT.war |访问zrlog->http://10.0.0.21:8080
这里需要配置数据库相关的连接,我们使用docker直接创建
| | | | --- | --- | | | [root@master01 ~]# docker run -d --name mysql_5.7 -p 3306:3306 --restart always -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=1 docker.m.daocloud.io/mysql:5.7 | | | fafca85377be4a37aaba52563bfe3b8e398a2fb1d8f51a856497cabbd33b6849 | | | [root@master01 ~]# docker ps -a | | | CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES | | | fafca85377be docker.m.daocloud.io/mysql:5.7 "docker-entrypoint.s…" 54 seconds ago Up 54 seconds 0.0.0.0:3306->3306/tcp, [::]:3306->3306/tcp, 33060/tcp mysql_5.7 | | | | | |#进入容器创建数据库 | | | [root@master01 ~]# dockerexec-it mysql_5.7 bash | | | bash-4.2# mysql -uroot -p1 | | | mysql: [Warning] Using a password on thecommandline interface can be insecure. | | | Welcome to the MySQL monitor. Commands end with ; or g. | | | Your MySQL connectionidis 2 | | | Server version: 5.7.44 MySQL Community Server (GPL) | | | | | | Copyright (c) 2000, 2023, Oracle and/or its affiliates. | | | | | | Oracle is a registered trademark of Oracle Corporation and/or its | | | affiliates. Other names may be trademarks of their respective | | | owners. | | | | | | Type'help;'or'h'forhelp. Type'c'to clear the current input statement. | | | | | | mysql> create database zrlog; | | | Query OK, 1 row affected (0.00 sec) | | | | | | mysql> | | | |zrlog中填写数据库相关信息,然后点击下一步
image 填写网站信息,点击下一步,最后点击完成即可
image 哟哟哟~,我们的网站搭建完成了!!!
回到顶部
tomcat部署多实例
背景
当一台服务器的资源足够多,内存足够大,这个时候我们要充分考虑这台服务器的性能,所以可以选择在某一台服务器上部署多个tomcat实例
部署步骤
准备多个tomcat目录
一个tomcat目录对应一个tomcat实例,每个tomcat都有自己的独立目录,通过目录区分不同的tomcat
| | | |---|---| | |[root@tomcat/app/tools]# tar -xf apache-tomcat-9.0.50.tar.gz | | |[root@tomcat/app/tools]# cp -r apache-tomcat-9.0.50 tomcat_8081 | | |[root@tomcat/app/tools]# cp -r apache-tomcat-9.0.50 tomcat_8082 | | |[root@tomcat/app/tools]# ll | | |total222224| | |drwxr-xr-x7rootroot 4096Apr420:58./| | |drwxr-xr-x5rootroot 4096Apr414:47../| | |drwxr-xr-x9rootroot 4096Apr420:57apache-tomcat-9.0.50/| | |-rw-r--r--1rootroot11507318Apr420:57apache-tomcat-9.0.50.tar.gz| | |drwxr-xr-x9rootroot 4096Apr420:58tomcat_8081/| | |drwxr-xr-x9rootroot 4096Apr420:58tomcat_8082/| | | |
修改端口
每个实例的端口号不能冲突,tomcat默认的端口号有三个,8080、8005、8443,我们要修改它们
| | | | --- | --- | | |#tomcat_8081实例 | | | [root@tomcat /app/tools]# sed -i's#8005#8006#g'tomcat_8081/conf/server.xml | | | [root@tomcat /app/tools]# sed -i's#8080#8081#g'tomcat_8081/conf/server.xml | | | [root@tomcat /app/tools]# sed -i's#8443#8444#g'tomcat_8081/conf/server.xml | | | | | |#tomcat_8082实例 | | | [root@tomcat /app/tools]# sed -i's#8006#8007#g'tomcat_8082/conf/server.xml | | | [root@tomcat /app/tools]# sed -i's#8080#8082#g'tomcat_8082/conf/server.xml | | | [root@tomcat /app/tools]# sed -i's#8443#8445#g'tomcat_8082/conf/server.xml | | | |
启动
| | | |---|---| | | [root@tomcat/app/tools]# ./tomcat_8081/bin/startup.sh | | |UsingCATALINA_BASE: /app/tools/tomcat_8081 | | |UsingCATALINA_HOME: /app/tools/tomcat_8081 | | |UsingCATALINA_TMPDIR: /app/tools/tomcat_8081/temp | | |UsingJRE_HOME: /app/tools/jdk | | |UsingCLASSPATH: /app/tools/tomcat_8081/bin/bootstrap.jar:/app/tools/tomcat_8081/bin/tomcat-juli.jar | | |UsingCATALINA_OPTS: | | | Tomcat started. | | | [root@tomcat/app/tools]# ./tomcat_8082/bin/startup.sh | | |UsingCATALINA_BASE: /app/tools/tomcat_8082 | | |UsingCATALINA_HOME: /app/tools/tomcat_8082 | | |UsingCATALINA_TMPDIR: /app/tools/tomcat_8082/temp | | |UsingJRE_HOME: /app/tools/jdk | | |UsingCLASSPATH: /app/tools/tomcat_8082/bin/bootstrap.jar:/app/tools/tomcat_8082/bin/tomcat-juli.jar | | |UsingCATALINA_OPTS: | | | Tomcat started. |
检查
| | | | --- | --- | | | [root@tomcat /app/tools]# ss -lntup | grep 8081 | | | tcp LISTEN 0 100 *:8081 *:* users:(("java",pid=15057,fd=56)) | | | [root@tomcat /app/tools]# ss -lntup | grep 8082 | | | tcp LISTEN 0 100 *:8082 *:* users:(("java",pid=15094,fd=56)) | | | [root@tomcat /app/tools]# |
链接:https://www.cnblogs.com/huangSir-devops/p/18808870
-
Web
+关注
关注
2文章
1289浏览量
71609 -
服务器
+关注
关注
13文章
9826浏览量
88214 -
JAVA
+关注
关注
20文章
2989浏览量
110749 -
开源
+关注
关注
3文章
3754浏览量
43968 -
tomcat
+关注
关注
0文章
31浏览量
5026
原文标题:Tomcat 完全指南:从安装到优化,小白也能轻松上手
文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
评论