tomcat多实例部署
在同一台主机上部署多个tomcat服务
Tomcat是一个开源的Java Servlet容器,也是一个Web服务器。它的主要作用是用于部署和运行Java Web应用程序。
环境说明:同一台虚拟机
tomcat实例 | tomcat版本 | 端口号 |
---|---|---|
tomcat-1 | tomcat-9.0.80 | 8005、8080、8443 |
tomcat-2 | tomcat-9.0.80 | 8006、8081、8444 |
准备工作
//关闭防火墙 selinux
[root@tomcat ~]# systemctl disable --now firewalld.service
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@tomcat ~]# setenforce 0
配置yum源
[root@tomcat ~]# rm -rf /etc/yum.repos.d/*
[root@tomcat ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
[root@tomcat ~]# yum clean all
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
12 files removed
[root@tomcat ~]# yum makecache
安装java环境
[root@tomcat ~]# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel wget vim
拉取tomcat软件包
[root@tomcat ~]# wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.80/bin/apache-tomcat-9.0.80.tar.gz
--2023-10-11 10:29:26-- https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.80/bin/apache-tomcat-9.0.80.tar.gz
Resolving archive.apache.org (archive.apache.org)... 65.108.204.189, 2a01:4f9:1a:a084::2
Connecting to archive.apache.org (archive.apache.org)|65.108.204.189|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 11692853 (11M) [application/x-gzip]
Saving to: ‘apache-tomcat-9.0.80.tar.gz’
apache-tomcat-9.0.80.tar.gz 100%[===============================================>] 11.15M 358KB/s in 57s
2023-10-11 10:30:25 (199 KB/s) - ‘apache-tomcat-9.0.80.tar.gz’ saved [11692853/11692853]
[root@tomcat ~]# ls
anaconda-ks.cfg apache-tomcat-9.0.80.tar.gz
解压
//安装tomcat-1
[root@tomcat ~]# ls
anaconda-ks.cfg apache-tomcat-9.0.80.tar.gz
[root@tomcat ~]# tar xf apache-tomcat-9.0.80.tar.gz
[root@tomcat ~]# mv apache-tomcat-9.0.80 /usr/local/tomcat-1
[root@tomcat ~]# ll -d /usr/local/tomcat-1
drwxr-xr-x. 9 root root 220 Oct 11 10:32 /usr/local/tomcat-1
//安装tomcat-2
[root@tomcat ~]# ls
anaconda-ks.cfg apache-tomcat-9.0.80.tar.gz
[root@tomcat ~]# tar xf apache-tomcat-9.0.80.tar.gz
[root@tomcat ~]# mv apache-tomcat-9.0.80 /usr/local/tomcat-2
[root@tomcat ~]# ll -d /usr/local/tomcat-2
drwxr-xr-x. 9 root root 220 Oct 11 10:33 /usr/local/tomcat-2
更改端口号
修改tomcat-2的端口,防止与tomcat-1的端口冲突,tomcat-1保持默认
//默认的tomcat关闭端口为8005,访问端口为8080,下列命令中我们只用将tomcat-2的关闭端口和访问端口更改为其他空闲端口即可
[root@tomcat ~]# cd /usr/local/tomcat-2/conf/
[root@tomcat conf]# ls
catalina.policy context.xml jaspic-providers.xsd server.xml tomcat-users.xsd
catalina.properties jaspic-providers.xml logging.properties tomcat-users.xml web.xml
[root@tomcat conf]# vim server.xml
[root@tomcat conf]# grep -A3 'Server port=' server.xml
<Server port="8006" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<!-- Security listener. Documentation at /docs/config/listeners.html
<Listener className="org.apache.catalina.security.SecurityListener" />
[root@tomcat conf]# grep -A3 '<Connector port=' server.xml
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8444"
maxParameterCount="1000"
开启服务
//开启tomcat-1服务
[root@tomcat ~]# /usr/local/tomcat-1/bin/catalina.sh start
Using CATALINA_BASE: /usr/local/tomcat-1
Using CATALINA_HOME: /usr/local/tomcat-1
Using CATALINA_TMPDIR: /usr/local/tomcat-1/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/tomcat-1/bin/bootstrap.jar:/usr/local/tomcat-1/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
[root@tomcat ~]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 1 [::ffff:127.0.0.1]:8005 *:*
LISTEN 0 100 *:8080 *:*
LISTEN 0 128 [::]:22 [::]:*
//开启tomcat-2服务
[root@tomcat ~]# /usr/local/tomcat-2/bin/catalina.sh start
Using CATALINA_BASE: /usr/local/tomcat-2
Using CATALINA_HOME: /usr/local/tomcat-2
Using CATALINA_TMPDIR: /usr/local/tomcat-2/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/tomcat-2/bin/bootstrap.jar:/usr/local/tomcat-2/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
[root@tomcat ~]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 1 [::ffff:127.0.0.1]:8005 *:*
LISTEN 0 1 [::ffff:127.0.0.1]:8006 *:*
LISTEN 0 100 *:8080 *:*
LISTEN 0 100 *:8081 *:*
LISTEN 0 128 [::]:22 [::]:*
配置多实例测试网页
//配置tomcat-1的测试网页index.jsp
[root@tomcat ~]# cd /usr/local/tomcat-1/webapps/
[root@tomcat webapps]# mkdir test && cd test
[root@tomcat test]# vim index.jsp
[root@tomcat test]# cat index.jsp
<html>
<head>
<title>test page</title>
</head>
<body>
<%
out.println("my name is tomcat-1");
%>
</body>
</html>
//配置tomcat-2的测试页面
[root@tomcat ~]# cd /usr/local/tomcat-2/webapps/
[root@tomcat webapps]# mkdir test && cd test
[root@tomcat test]# vim index.jsp
[root@tomcat test]# cat index.jsp
<html>
<head>
<title>test page</title>
</head>
<body>
<%
out.println("my name is tomcat-2");
%>
</body>
</html>
测试:
访问tomcat-1的8080端口
访问tomcat-2的8081端口
Tomcat是一个功能强大的Java Servlet容器和Web服务器,用于部署和运行Java Web应用程序。它提供了丰富的功能和工具,可以简化Web应用程序的开发、部署和管理工作。