Tomcat 虚拟主机环境配置
Tomcat 是一个开源的 Java Web 应用服务器,广泛应用于中小型系统和并发用户不是很多的情况下,它通常被用来作为 Java Servlet 和 JavaServer Pages (JSP) 的容器,本文将详细介绍如何在 Linux 环境下安装和配置 Tomcat 的虚拟主机环境。
一、环境准备
在开始之前,需要确保以下几点:
1、操作系统:本文以 CentOS 7 为例进行说明。
2、JDK 安装:Tomcat 运行需要 Java 环境支持,因此必须安装 JDK。
3、网络配置:确保网络适配器为 NAT 模式,IP 地址是静态获取,如 192.168.126.15。
4、软件包下载:下载所需的 JDK 和 Tomcat 安装包,并将其放置在/opt
目录下。
二、安装 JDK 并配置 Java 环境
1、关闭防火墙及强制访问控制:
systemctl stop firewalld systemctl disable firewalld setenforce 0
2、安装 JDK:
cd /opt rpm ivh jdk8u201linuxx64.rpm
3、配置环境变量:
编辑或创建文件/etc/profile.d/java.sh
,添加以下内容:
export JAVA_HOME=/usr/java/jdk1.8.0_201amd64 export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar export PATH=$JAVA_HOME/bin:$PATH
然后执行以下命令使环境变量生效:
source /etc/profile.d/java.sh
4、验证 JDK 安装:
java version
三、Tomcat 安装与基本配置
1、解压 Tomcat 安装包:
cd /opt tar zxvf apachetomcat9.0.16.tar.gz mv apachetomcat9.0.16 /usr/local/tomcat
2、启动 Tomcat:
后台启动:
/usr/local/tomcat/bin/startup.sh
或者前台启动:
/usr/local/tomcat/bin/catalina.sh run
3、验证 Tomcat 安装:
打开浏览器访问 [http://192.168.126.15:8080](http://192.168.126.15:8080),如果看到 Tomcat 默认主页,则表示安装成功。
四、Tomcat 虚拟主机配置
Tomcat 虚拟主机配置主要通过修改server.xml
文件来实现,以下是几种常见的虚拟主机配置方法:
1. 一个端口一个主机
这种配置方式适用于大部分情况,即一个端口对应一个主机。
编辑/usr/local/tomcat/conf/server.xml
文件,添加以下内容:
<Service name="service1"> <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Engine name="engine1" defaultHost="localhost"> <Host name="localhost" appBase="onePortOneHost" unpackWARs="true" autoDeploy="true"> </Host> </Engine> </Service>
2. 一个端口多个主机
这种配置方式适用于一个平台包括多个项目的情况,例如门户、资讯、论坛等。
编辑/usr/local/tomcat/conf/server.xml
文件,添加以下内容:
<Service name="service2"> <Connector port="8082" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Engine name="engine1" defaultHost="localhost"> <Host name="localhost" appBase="onePortMultiHost" unpackWARs="true" autoDeploy="true"> </Host> <Host name="host1.tongfu.net" appBase="onePortMultiHost1" unpackWARs="true" autoDeploy="true"> </Host> <Host name="host2.tongfu.net" appBase="onePortMultiHost2" unpackWARs="true" autoDeploy="true"> </Host> </Engine> </Service>
3. 多个端口多个主机
这种配置适用于大型平台的情况,非80端口通常用于搭建内部使用的接口服务。
编辑/usr/local/tomcat/conf/server.xml
文件,添加以下内容:
<Service name="service5"> <Connector port="8085" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Engine name="engine1" defaultHost="localhost"> <Host name="localhost" appBase="multiPortMultiHost8085" unpackWARs="true" autoDeploy="true"> </Host> </Engine> </Service> <Service name="service6"> <Connector port="8086" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Engine name="engine1" defaultHost="localhost"> <Host name="localhost" appBase="multiPortMultiHost8086" unpackWARs="true" autoDeploy="true"> </Host> </Engine> </Service>
4. 多个虚拟目录
这种配置适用于一个大型平台部署在一个域名下,多个模块通过虚拟目录的方式部署在根主机下面。
编辑/usr/local/tomcat/conf/server.xml
文件,添加以下内容:
<Service name="service8"> <Connector port="8088" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Engine name="engine1" defaultHost="localhost"> <Host name="localhost" appBase="" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="oneHostMultiContext" privileged="true"/> <Context path="/context1" docBase="oneHostMultiContext1" privileged="true"/> <Context path="/context2" docBase="oneHostMultiContext2" privileged="true"/> </Host> </Engine> </Service>
path
设置为“空”表示指向主机根目录,docBase
参数实际上是appBase
+docBase
的组合,每个Context
都会受Host
的设置影响,包括unpackWARs
、autoDeploy
等。
五、创建项目目录和文件
1、创建项目目录:
mkdir p /var/www/tomcat1 mkdir p /var/www/tomcat2
2、创建 index.jsp 文件:
在/var/www/tomcat1
目录下创建index.jsp
文件,并写入以下内容:
<%@page language="java" contentType="text/html; charset=UTF8" pageEncoding="UTF8"%> <!DOCTYPE html> <html> <head> <title>Tomcat Virtual machine 1</title> </head> <body> Tomcat Virtual machine 1 <br/> <%= new java.util.Date() %> </body> </html>
在/var/www/tomcat2
目录下创建index.jsp
文件,并写入以下内容:
<%@page language="java" contentType="text/html; charset=UTF8" pageEncoding="UTF8"%> <!DOCTYPE html> <html> <head> <title>Tomcat Virtual machine 2</title> </head> <body> Tomcat Virtual machine 2 <br/> <%= new java.util.Date() %> </body> </html>
六、修改 Tomcat 主配置文件 server.xml
编辑/usr/local/tomcat/conf/server.xml
文件,添加以下内容:
<Service name="Catalina"> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Engine name="Catalina" defaultHost="localhost"> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context docBase="/var/www/tomcat1" path="/vm1" reloadable="true"/> <Context docBase="/var/www/tomcat2" path="/vm2" reloadable="true"/> </Host> </Engine> </Service>
name
:主机名;
appBase
:Tomcat 程序工作目录,相对路径为webapps
,绝对路径为/usr/local/tomcat/webapps
;
unpackWARs
:是否解压 war 包;
autoDeploy
:指示 Tomcat 运行时,如有新的 WEB 应用是否允许自动部署;
xmlValidation
:是否验证 XML 文件执行有效性检验的标志;
xmlNamespaceAware
:是否启用 XML 命名空间,设置为true
表示对web.xml
文件执行有效性检验;
docBase
:相应的 Web 应用程序的存放位置;
path
:设置访问的 URI 为 WEB 应用的根目录;
reloadable
:是否在程序有改动时重新载入。
七、重启 Tomcat 服务并验证配置效果
1、重启 Tomcat:
停止服务:
/usr/local/tomcat/bin/shutdown.sh
启动服务:
/usr/local/tomcat/bin/startup.sh
2、修改本地 hosts 文件:
编辑/etc/hosts
文件,添加以下内容:
192.168.73.128 www.wh.com www.wh2024.com
3、验证配置效果:
使用浏览器访问以下网址:[http://www.wh.com:8080](http://www.wh.com:8080) 和 [http://www.wh2024.com:8080](http://www.wh2024.com:8080),如果看到相应的页面内容,则表示配置成功。
小伙伴们,上文介绍了“tomcat虚拟主机环境怎么配置”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1236764.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复