tomcat
来自老男孩76期
一、基础介绍
jre jdk jvm
一般书写的程序代码,只能在某个平台运行,如C#编译的程序,后缀名是exe文件,只能在windows上运行。
jvm:java虚拟机(java vitrual machine),主要用来运行java代码的。解决了代码的可移植性问题。
jre:java运行环境(java runtime enviroment),比jdk小
jdk:java开发环境(java delelopment kit),jdk=jre+java开发工具
二、环境部署
web03 | jdk tomcat | 10.0.0.9 |
jdk版本一般以开发使用的版本为准,如1.8.0
JDK安装方式有
- rpm
- 二进制包(解压即用)
- 源码编译(不常用)
- yum(openJDK)
安装完JDK还需要安装tomcat,jdk里面主要是jvm,tomcat里面是程序跟代码
tomcat主流版本有9.0,8.5
tomcat属于apache基金会,apache基金会都有开源的服务,包括如下
下载链接
官网:https://tomcat.apache.org/download-80.cgi
清华源:https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat
安装jdk
#上传jdk跟tomcat
mkdir -p /app/tools
#解压
tar xf jdk-8u60-linux-x64.tar.gz
du -sh jdk1.8.0_60/
352M jdk1.8.0_60/
mv jdk1.8.0_60/ /app/
#创建个软连接
ln -s /app/jdk1.8.0_60/ /app/jdk
#jdk工具都在
/app/jdk/bin/java
10 143 是用户跟用户组,因为不存在,所以变为了数字
chown -R root.root /app/jdk/
加入环境变量
. /etc/profile相当于 source /etc/profile
#检查一下
tail /etc/profile
安装tomcat
tar xf apache-tomcat-8.5.66.tar.gz
mv apache-tomcat-8.5.66/ /app/
ln -s /app/apache-tomcat-8.5.66/ /app/tomcat
#检查jdk跟tomcat是否安装好
/app/tomcat/bin/version.sh
如下表示安装成功
tomcat目录结构
bin目录 | 含义 | 主要命令 | 用途 |
---|---|---|---|
/app/tomcat/bin | tomcat管理命令目录 | startup.sh | 启动tomcat |
shutdown.sh | 关闭Tomcat | ||
version.sh | 部署完后检查jdk和tomcat | ||
catalina.sh | tomcat核心脚本,startup shutdown都是调用的该脚本 |
tomcat-user.xml在实际生产环境中会关闭。
catalina.out能看应用的启动时间,启动了多久
war包放在webapps里面会自动解压,自动加载
启动tomcat
验证
#grep tomcat是不会出现的,tomcat是java运行的要注意
ss -lntup | grep java
两个端口,8080是web服务的端口,8005是shutdown的端口
tomcat本质上是java运行的
整理一下,可以看到本质上是java 一些选项 start
运行的
看日志
tail -F catalina.log
可以看到服务启动起来了,启动了1.6秒,什么应用都没放,都要启动1.6秒。
日志主要看error,不看Info
tomcat日志会每日进行切割,但是不会清空catalina.out,所以catalina.out是最全的日志
host-manager跟localhost.2021xx跟manager.2021xx这三个日志跟管理端有关。
关闭tomcat要看端口跟进程两个地方,有时候端口没了,进程还在。
ss -lntup | grep java
ps -ef | grep java
部署一个web应用
上传war包到webapps目录下,tomcat会自动解压该war包,memtest.war包被解压为memtest目录
然后方位http://10.0.0.9:8080/memtest/meminfo.jsp即可
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通