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等
安装JDK和tomcat
安装Tomcat和JDK JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java 开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。
为了方便解决环境配置问题,这里选择yum的方式进行安装,读者也可以选择源码安装然后编译,再配置环境变量。
[root@localhost conf]# yum list java
Repository 'baseos' is missing name in configuration, using id.
Repository baseos is listed more than once in the configuration
Last metadata expiration check: 2:37:25 ago on Sun 02 Mar 2025 08:38:31 AM CST.
Error: No matching Packages to list
[root@localhost conf]# yum list java*
Repository 'baseos' is missing name in configuration, using id.
Repository baseos is listed more than once in the configuration
Last metadata expiration check: 2:37:28 ago on Sun 02 Mar 2025 08:38:31 AM CST.
Available Packages
java-1.8.0-openjdk.x86_64 1:1.8.0.442.b06-2.el8 @appstream
java-1.8.0-openjdk-headless.x86_64 1:1.8.0.442.b06-2.el8 @appstream
javapackages-filesystem.noarch 5.3.0-2.module+el8.3.0+125+5da1ae29 @appstream...
直接下载java-1.8.0-openjdk.x86_64即可:yum install java-1.8.0-openjdk.x86_64 -y
[root@localhost conf]# java -version
openjdk version "1.8.0_442"
OpenJDK Runtime Environment (build 1.8.0_442-b06)
OpenJDK 64-Bit Server VM (build 25.442-b06, mixed mode)
安装tomcat
这里选择tar包的安装方式,由于市面上大多用的为8~9版本,这里选择安装9:Apache Tomcat® - Apache Tomcat 9 Software Downloads 使用wget命令下载好tar.gz结尾的包
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.100/bin/apache-tomcat-9.0.100.tar.gz
解压到文件夹:
tar -zxvf apache-tomcat-9.0.100.tar.gz -C /usr/local/
ln -sv apache-tomcat-9.0.100/ tomcat/
配置系统服务脚本
创建tomcat用户
groupadd -r -g 53 tomcat
useradd -r -u 53 -g 53 -c "Apache Tomcat" -d /usr/local/tomcat/ -s /sbin/nologin tomcat
chown -R tomcat:tomcat /usr/local/tomcat/*
配置系统服务脚本
vim /usr/lib/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat Server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
Environment=CATALINA_HOME=/usr/local/tomcat
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
ExecReload=/bin/kill -s HUP $MAINPID
User=tomcat
Group=tomcat
PrivateTmp=true
[Install]
WantedBy=multi-user.target
重新加载守护进程并启动tomcat
systemctl daemon-reload
systemctl start tomcat
关闭防火墙:systemctl stop firewalld
访问这个IP的8080端口:
管理
我们此时点击Manager App返回的是403,原因是一我们没有权限访问,默认只有本地主机才能访问,二是还没创建管理用户
创建管理用户
先添加role,然后创建用户中添加需要的role
vim /usr/local/tomcat/conf/tomcat-users.xml
#添加以下内容:
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-jmx"/>
<role rolename="manager-script"/>
<role rolename="manager-status"/>
<user username="tomcat" password="tomcat" roles="admin-gui,manager-gui,manager-jmx,manager-script,manager-status,admin-script"/>
开放监听的地址:/usr/local/tomcat/webapps/manager/META-INF/context.xml和/usr/local/tomcat/webapps/host-manager/META-INF/context.xml
它们分别用于管理 Tomcat 本身和管理 Tomcat 配置的虚拟主机。manager可以对部署在 Tomcat 上的应用进行管理,如部署、卸载、启动、停止、重新加载等操作。host-manager可以管理 Tomcat 配置的虚拟主机,如创建、删除虚拟主机,管理虚拟主机的应用程序等。对这两个修改为如下内容:(表示对192.168.0.0的任何主机监听\.转义“.” \d+表示任何一个数字)
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192\.168\.\d+\.\d+" />
重启tomcat服务:systemctl restart tomcat
然后登录,点击Manager App这里会让你输入用户和密码。之后进入以下界面
可以在上面部署管理虚拟机和部署内容,这里部署一个zrlog示例
示例
往下翻找到选择部署的WAR文件,点击选择文件,将自己的rzlog.war文件上传。点击部署
此时会多出一行内容:
直接点击zrlog即可
自己可以在后端创建一个数据库,然后创建一个用于zrlog登录的用户和对应的库,赋予其权限,即可
create database zrlog;
create user zrlog@'%' identified by '@OPENlab123';
grant all on zrlog.* to zrlog@'%';
然后关闭防火墙,再在上面输入对应的内容即可完成部署