Web服务器
作者介绍:简历上没有一个精通的运维工程师,下面的思维导图也是预计更新的内容和当前进度(不定时更新
我们上一大章介绍了Kubernetes的知识,本章节我们进入中间件的讲解,这里会包含很多不同的类型组件,中间件的第一个大类我这里定义的是Web服务器。由于目前使用最广泛的Web服务器是Nginx,所以我们这里的讲解主要以Nginx服务器为主。
我们前面介绍两个Web服务器:Nginx和Apache,今天我们来介绍另外一个Web服务器:Tomcat。
互联网早期的网站大多都是ASP或者PHP的,少部分比较注重安全的网站会选择jsp,而这个jsp就是运行在Tomcat里面。
以前的网站很多都是集中在一起的,并不区分前端还是和后端。通过网页url就知道是什么语言,但是随着技术的迭代和进步出现了前后端分离,这个时候从url里面已经看不出来网站才有的什么语言。尤其是移动互联网的崛起让我们更加感知不到后端情况。
Tomcat介绍
Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,它是实现Java Servlet和JavaServer Pages (JSP) 技术的一个开源软件。Tomcat服务器提供了可以运行Java Web应用程序的环境,它是一个轻量级、易于扩展的Web容器,
JDK安装
由于Tomcat是基于Java语言,所以我们需要先安装Java环境。这里有2个选:,一个是选择Oracle的官方JDK(比较麻烦的时候是需要注册才能下载);另外一个就是采用开源的Open-JDK(在大部分情况下,这2个是没区别的)。但是我也遇到过需要使用Oracle的JDK才能用的情况,我这里以最的简单的方式安装就选择Open-JDK。
#默认源有4个版本,可选,具体要根据应用程序需求来选择
#我这里就以java8来安装
yum -y install java-1.8.0-openjdk.x86_64
出现这样则安装成功。
代码语言:javascript代码运行次数:0运行复制[root@localhost ~]# java -version
openjdk version "1.8.0_412"
OpenJDK Runtime Environment (build 1.8.0_412-b08)
OpenJDK 64-Bit Server VM (build 25.412-b08, mixed mode)
Tomcat安装
Tomcat的版本和JDK版本有关系的,我这里选了一个Tomcat9,为了加强理解,我这里选择使用二进制安装Tomcat。
代码语言:javascript代码运行次数:0运行复制wget .0.104/bin/apache-tomcat-9.0.104.tar.gz
tar xvf apache-tomcat-9.0.104.tar.gz
cd apache-tomcat-9.0.104
./bin/startup.sh
如果启动失败可以去查看日志./logs/catalina.out。常见的问题找不到JDK,尤其是当JDK是采用Oracle的官方JDK。
Tomcat使用
这里需要介绍WAR包和JAR包。WAR可以理解是前后端不分离的包,包含了应用程序,HTML,CSS等资源,他需要依赖Tomcat或者类似的Servlet容器(我见过jboss)中运行。而jar包则不依赖Web容器,只要有java环境就可以通过Java命令直接启动(也可以理解他里面自带了Tomcat)目前的Java主流框架java spring xxx 基本上都是采用jar包方式。
同一个应用程序既可以打包成war包,也可以打包成jar包,具体看业务需求。
这里我使用后面涉及到持续集成会用到一个软件Jenkins来测试Tomcat。
代码语言:javascript代码运行次数:0运行复制#该版本兼容tomcat9和jdk8
wet .7.4/jenkins.war
把这个文件放置到tomcat的webapps目录下,Tomcat会自动读取并解压。会产生如下日志。
代码语言:javascript代码运行次数:0运行复制18-Apr-2025 00:12:42.191 INFO [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/root/apache-tomcat-9.0.104/webapps/jenkins.war] has finished in [29] ms
18-Apr-2025 00:13:02.194 INFO [Catalina-utility-1] org.apache.catalina.startup.HostConfig.undeploy Undeploying context [/jenkins]
18-Apr-2025 00:13:02.196 INFO [Catalina-utility-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/root/apache-tomcat-9.0.104/webapps/jenkins.war]
18-Apr-2025 00:13:06.540 INFO [Catalina-utility-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Jenkins home directory: /root/.jenkins found at: $user.home/.jenkins
18-Apr-2025 00:13:07.346 INFO [Catalina-utility-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/root/apache-tomcat-9.0.104/webapps/jenkins.war] has finished in [5,150] ms
18-Apr-2025 00:13:07.735 INFO [pool-6-thread-2] jenkins.InitReactorRunner$1.onAttained Started initialization
18-Apr-2025 00:13:07.746 INFO [pool-6-thread-2] jenkins.InitReactorRunner$1.onAttained Listed all plugins
18-Apr-2025 00:13:09.319 INFO [pool-6-thread-2] jenkins.InitReactorRunner$1.onAttained Prepared all plugins
18-Apr-2025 00:13:09.331 INFO [pool-6-thread-2] jenkins.InitReactorRunner$1.onAttained Started all plugins
18-Apr-2025 00:13:09.375 INFO [pool-6-thread-1] jenkins.InitReactorRunner$1.onAttained Augmented all extensions
18-Apr-2025 00:13:11.416 INFO [pool-6-thread-1] jenkins.InitReactorRunner$1.onAttained Loaded all jobs
18-Apr-2025 00:13:11.468 INFO [Download metadata thread] hudson.model.AsyncPeriodicWork$1.run Started Download metadata
18-Apr-2025 00:13:11.990 INFO [SSHD.init] org.jenkinsci.main.modules.sshd.SSHD.start Started SSHD at port 43031
18-Apr-2025 00:13:11.990 INFO [pool-6-thread-2] jenkins.InitReactorRunner$1.onAttained Completed initialization
#访问地址,自动解压成jenkins目录
http://192.168.31.127:8080/jenkins
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2025-04-21,如有侵权请联系 cloudcommunity@tencent 删除服务器tomcat网站容器web
发布评论