目录
2.1 Tomcat简介
Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
Tomcat和Nginx、Apache(httpd)、lighttpd等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Nginx/Apache服务器。
目前Tomcat最新版本为9.0。Java容器还有resin、weblogic等。
Tomcat官网: http://tomcat.apache.org
安装Tomcat和JDK
JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。
第一种方式:通过yum方式下载Tomcat,这种在实际生产环境中不适用,不推荐
yum install 安装Tomcat;
[root@localhost ~]# yum install tomcat -y
查看自带的jdk;测试环境可以用,生存环境不用open jdk,性能太差
[root@localhost ~]# java -version
openjdk version "1.8.0_332"
OpenJDK Runtime Environment (build 1.8.0_332-b09)
OpenJDK 64-Bit Server VM (build 25.332-b09, mixed mode)
查看已经安装好的服务
[root@localhost ~]# rpm -qa | grep -i tomcat
tomcat-servlet-3.0-api-7.0.76-16.el7_9.noarch
tomcat-el-2.2-api-7.0.76-16.el7_9.noarch
tomcat-lib-7.0.76-16.el7_9.noarch
tomcat-jsp-2.2-api-7.0.76-16.el7_9.noarch
tomcat-7.0.76-16.el7_9.noarch
启动Tomcat并查看端口是否运行
[root@localhost ~]# systemctl start tomcat
[root@localhost ~]# netstat -lnupt | grep 8080
tcp6 0 0 :::8080 :::* LISTEN 1708/java
第二种方式:使用wget下载二进制包
安装Tomcat的二进制包:
[root@node1 ~]#wget -c https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.79/bin/apache-tomcat-8.5.79.tar.gz
如下载失败在 https 前面加上 --no-check-certificate
即可
[root@node1 ~]#wget -c --no-check-certificate https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.79/bin/apache-tomcat-8.5.79.tar.gz
我下载的jdk版本为:jdk-8u261-linux-x64.rpm
rpm包上传即可使用,不需要配置环境变量
附:下载jdk(所有版本)
http://www.oracle.com/technetwork/java/javase/archive-139210.html
解压JDK文件
[root@node1 ~]# yum localinstall jdk-8u261-linux-x64.rpm
查看当前jdk,生存环境用的JDK
[root@node1 ~]# java -version
java version "1.8.0_261"
Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)
tar xf apache-tomcat-8.5.79.tar.gz -C /usr/local/ #解压文件夹
[root@node1 ~]# ln -sv /usr/local/apache-tomcat-8.5.79/ /usr/local/tomcat #创建软连接
启动Tomcat
Tomcat启动停止
# 启动程序/usr/local/tomcat/bin/startup.sh
# 关闭程序/usr/local/tomcat/bin/shutdown.sh
为tomcat提供服务启动脚本。
启动后访问页面:
[root@node1 ~]# /usr/local/tomcat/bin/catalina.sh run
#占用服务器前端启动
[root@node1 ~]# cd /usr/local/tomcat/bin/
[root@node1 bin]# ./catalina.sh run #占用服务器前端启动
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
27-Mar-2022 00:55:28.496 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name: Apache Tomcat/8.5.79
27-Mar-2022 00:55:28.497 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: May 16 2022 15:36:23 UTC
27-Mar-2022 00:55:28.498 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 8.5.79.0
27-Mar-2022 00:55:28.498 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Linux
27-Mar-2022 00:55:28.498 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 3.10.0-1160.el7.x86_64
可以在本地测试访问,Tomcat的端口为8080;
另一个启动Tomcat方式
#后台启动Tomcat,不会占用前端
[root@node1 ~]# /usr/local/tomcat/bin/startup.sh #后台启动Tomcat,不会占用前端
关闭Tomcat
[root@node1 ~]# /usr/local/tomcat/bin/shutdown.sh
查看Tomcat的版本
[root@node1 ~]# cd /usr/local/tomcat/bin/
[root@node1 bin]# ./version.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Server version: Apache Tomcat/8.5.79
Server built: May 16 2022 15:36:23 UTC
Server number: 8.5.79.0
OS Name: Linux
OS Version: 3.10.0-1160.el7.x86_64
Architecture: amd64
JVM Version: 1.8.0_261-b12
JVM Vendor: Oracle Corporation
第三种方法:安装Tomcat使用普通用户登录:
1、安装jdk文件:
我下载的jdk版本为:jdk-8u261-linux-x64.rpm
rpm包上传即可使用,不需要配置环境变量
附:下载jdk的网页(所有版本)
http://www.oracle.com/technetwork/java/javase/archive-139210.html
解压JDK文件
[root@node3 ~]# yum localinstall jdk-8u261-linux-x64.rpm
查看JDK信息
[root@node3 ~]# java -version
java version "1.8.0_261"
Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)
2、下载tomcat的二进制包:
[root@node3 ~]# wget -c https://archive.apache.org/dist/tomcat/tomcat-8/v8.0.36/bin/apache-tomcat-8.0.36.tar.gz
解压Tomcat二进制包并创建软连接
[root@node3 ~]# tar xf apache-tomcat-8.0.36.tar.gz -C /usr/local/
[root@node3 ~]# ln -sv /usr/local/apache-tomcat-8.0.36/ /usr/local/tomcat
‘/usr/local/tomcat’ -> ‘/usr/local/apache-tomcat-8.0.36/’
3、创建用户组和用户
[root@node3 ~]# groupadd -r -g 53 tomcat
[root@node3 ~]#
[root@node3 ~]# useradd tomcat -u 53 -g 53 -r -c "Apache Tomcat" -s /sbin/nologin -d /usr/local/tomcat
修改该目录的用户组
[root@node3 ~]# chgrp -R tomcat /usr/local/tomcat/*
4、创建Tomcat的登录服务脚本
此处创建的登录服务脚本为普通用户登录:
[root@node3 ~]# vim /usr/lib/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/java/jdk1.8.0_261-amd64
Environment=CATALINA_HOME=/usr/local/tomcat
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
User=tomcat
Group=tomcat
PrivateTmp=true
[Install]
WantedBy=multi-user.target
重新加载并启动Tomcat查看该状态信息
[root@node3 ~]# systemctl daemon-reload
[root@node3 ~]# systemctl start tomcat
[root@node3 ~]# systemctl status tomcat
● tomcat.service - Apache Tomcat
Loaded: loaded (/usr/lib/systemd/system/tomcat.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2022-05-31 23:39:28 CST; 10s ago
Process: 15456 ExecStart=/usr/local/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
Main PID: 15463 (java)
CGroup: /system.slice/tomcat.service
└─15463 /usr/java/jdk1.8.0_261-amd64/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/con...
May 31 23:39:28 node3 systemd[1]: Starting Apache Tomcat...
May 31 23:39:28 node3 systemd[1]: Started Apache Tomcat.
网页测试登录成功
5、创建登录服务脚本为系统管理员登录
[root@node1 ~]# vim /usr/lib/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat Web Application
ContainerAfter=syslog.target network.target
[Service]
Type=forking
PIDFile=/usr/local/tomcat/tomcat.pid
ExecStart=/usr/local/tomcat/bin/catalina.sh start
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill −s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target