一.相关概念简介
1.java容器:用于存放与运行java代码的环境。
java容器 | 描述 |
tomcat | 常用,功能完善 |
东方通 | 国产java容器 |
weblogic | 用于oracle环境 |
jetty | 功能少,轻量 |
2.JVM-JRE-JDK及三者的关系
java代码可移植性,一次编译到处运行。
JVM:java虚拟机,运行java代码的地方,占用内存。
JRE:Java Runtime Enviroment,提供java运行环境,提供JVM环境和java命令。
JDK:Java Development Kit, 提供java开发环境,JVM+JRE+额外功能。Linux换将只需部署JDK。
3.JDK版本
JDK1.8=Java SE 8=JDK8都是只JDK。
jdk-8u351是jdk8的更新版,更新的版本号351。
jdk1.8.0_351也是jdk8,更新版本351。
Java se:标准版java
java ee:企业版java
java me:微型版java
二.部署
0.安装方式
rpm包安装:安装的为openjdk版本
二进制包:软件绿色版,解压既用,安装的oracle jdk版本
源码:编译安装
1.环境准备
web01 | 192.168.77.142 |
web02 | 192.168.77.141 |
db01 | 192.168.77.139 |
2.部署jdk-8u351
下载jdk-8u351-linux-x64.tar.gz软件包
#web01-02
mkdir -p /app/tools/
#上传软件包到/app/tools/目录
rz jdk-8u351-linux-x64.tar.gz
#解压
cd /app/tools/
tar xf /app/tools/jdk-8u351-linux-x64.tar.gz -C /app/tools/
#创建软连接,便于升级
ln -s /app/tools/jdk1.8.0_351 /app/tools/jdk
#配置环境变量JAVA_HOME PATH CLASS_PATH,加上单引号不用转义$符,cat >>是追加
cat >>/etc/profile<<'EOF'
export JAVA_HOME=/app/tools/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
EOF
source /etc/profile
java -version
3.部署tomcat
apache-tomcat-9.0.52.tar.gz下载地址
#web01-02
#上传软件包到/app/tools/目录
rz apache-tomcat-9.0.52.tar.gz
#解压
cd /app/tools/
tar xf /app/tools/apache-tomcat-9.0.52.tar.gz -C /app/tools/
#创建软连接,便于升级,tomcat后面不要写/,tomcat不是目录
ln -s /app/tools/apache-tomcat-9.0.52 /app/tools/tomcat
#版本检查,可看到tomcat版本和JDK版本
/app/tools/tomcat/bin/version.sh
#配置环境变量 加上单引号不用转义$符,cat >>是追加
cat >>/etc/profile<<'EOF'
export TOMCAT_HOME=/app/tools/tomcat
EOF
source /etc/profile
4.启动tomcat及测试
#启动tomcat
/app/tools/tomcat/bin/startup.sh
#端口和进程查看
ss -tlunp | grep java
ps -ef | grep java
#关闭防火墙
systemctl stop firewalld
浏览器访问 http://192.168.77.142:8080
三.tomcat命令及目录
1.tomcat管理命令
bin目录 | 描述 | 常用命令 |
/app/tools/tomcat/bin | tomcat管理命令目录 | startup.sh #启动tomcat shutdown.sh #关闭tomcat version.sh #检查JDK和tomcat是否正常链接与版本 catalina.sh #启动和关闭都调用这个脚本,配置java启动参数,配置JVM参数,tomcat远程管理 |
2.tomcat目录结构
/app/tools/tomcat/目录下
目录 | 描述 |
bin | tomcat管理命令 startup.sh shutdown.sh catalina.sh version.sh |
conf | tomcat配置文件 server.xml #主配置文件 nginx是nginx.conf web.xml #额外功能 tomcat-user.xml #管理配置文件的用户名和密码 |
logs | tomcat日志文件 catalina.out #最全日志 查看error catalina.2024-07-12.log #每天的切割日志 localhost_access_log.2024-07-12.txt #访问日志 |
webapps | tomcat站点目录 war包 升级替换war包的目录 |
3.systemd管理tomcat
#环境变量配置文件,
cat >/etc/sysconfig/tomcat<<'EOF'
#变量=内容
JAVA_HOME=/app/tools/jdk
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:bin/:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
EOF
#systemd文件
cat >/usr/lib/systemd/system/tomcat.service <<'EOF'
#/usr/lib/systemd/system/tomcat.service
[Unit]
Description=Tomcat Server Manage
After=network.target remote-fs.target
[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/tomcat
ExecStart=/app/tools/tomcat/bin/startup.sh
ExecReload="/app/tools/tomcat/bin/shutdown.sh && sleep 2 && /app/tools/tomcat/bin/startup.sh"
ExecStop=/app/tools/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
#使用前先把手动启动的关闭
/app/tools/tomcat/bin/shutdown.sh
#systemd启动tomcat
systemctl start tomcat
systemctl enable tomcat
四.代码运行
开发人员书写的java代码称java源代码,无法直接部署在tomcat中,需要通过maven,gradle对源代码进行编译,编译后生成war包或jar包。
war包 | 需要放在java容器中运行tomcat,webapps目录下,放入后会自动解压,升级war包过程 |
jar包 | 不需要java容器,内置tomcat,只需要JDK,通过java -jar xxx.jar运行 |
1.war包测试
cd /app/tools/tomcat/webapps
#上传memtest.war
rz memtest.war
浏览器访问测试http://192.168.77.142:8080/memtest/meminfo.jsp
2.jar包测试
#下载nginxWebUI-4.2.0.jar
mkdir -p /app/jar/nginxWebUI
cd /app/jar/nginxWebUI
wget https://gitee.com/cym1102/nginxWebUI/releases/download/4.2.0/nginxWebUI-4.2.0.jar
#前台运行
java -jar nginxWebUI-4.2.0.jar -Dfile.encoding=UTF-8 --server.port=8888
浏览器访问http://192.168.77.142:8888/
初始用户名和口令自定义,然后使用自定义账号和口令登录
3.war包升级过程
#进入站点目录
cd /app/tools/tomcat/webapps
#停止tomcat
cd ../bin
sh shutdown.sh
或
systemctl stop tomcat
#备份原有war包,然后删除之前war包自动解压的文件夹
#上传新的war包到webapps下
#启动tomcat
cd /app/tools/tomcat/bin
sh startup.sh
或
systemctl start tomcat
#查看启动日志
tail -f /app/tools/tomcat/logs/catalina.out