Centos环境下Tomcat虚拟主机配置详细教程

2025-03-19 14:50

本文主要是介绍Centos环境下Tomcat虚拟主机配置详细教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《Centos环境下Tomcat虚拟主机配置详细教程》这篇文章主要讲的是在CentOS系统上,如何一步步配置Tomcat的虚拟主机,内容很简单,从目录准备到配置文件修改,再到重启和测试,手把手带你搞定...

最近在折腾 Tomcat 的时候,遇到了一个需求:需要在一台服务器上跑多个网站,每个网站用不同的域名访问。乍一看,这不就是虚拟主机的活儿嘛!但对 Tomcat 的虚拟主机配置不太熟,查了不少资料,踩了几个坑,终于搞定了。于是就想着把整个过程整理下来,分享给有类似需求的小伙伴,希望能少走弯路。

这篇文章主要讲的是在 Centos 系统上,如何一步步配置 Tomcat 的虚拟主机。内容很简单,从目录准备到配置文件修改,再到重启和测试,手把手带你搞定。

1. 准备虚拟主机的目录和内容

为每个虚拟主机创建独立的目录,并放置测试文件。

Centos环境下Tomcat虚拟主机配置详细教程

创建目录

mkdir -p /var/www/site1
mkdir -p /var/www/site2

添加测试文件

echo "Welcome to Site 1" > /var/www/site1/index.html
echo "Welcome to Site 2" > /var/www/site2/index.html

2. 修改 Tomcat 的 server.xml 配置文件

编辑 Tomcat 的 server.xml 文件:

vim $CATALINA_HOME/conf/server.xml

找到 <Engine> 标签(通常在 <Service name="Catalina"> 下),并在其中添加两个 <Hopythonst> 配python置块。

修改后的配置示例:

Centos环境下Tomcat虚拟主机配置详细教程

<Engine name="Catalina" defaultHost="localhost">
 
    <!-- 默认的 localhost 配置 -->
    <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
        <Context path="" docBase="${catalina.home}/webapps/ROOT" />
    </Host>
 
    <js!-- 虚拟主机 1 -->
    <Host name="www.site1.com" appBase="" unpackWARs="true" autoDeploy="true">
        <Context path="" docBase="/var/www/site1" />
    </Host>
 
    <!-- 虚拟主机 2 -->
    <Host name="www.site2.com" appBase="" unpackWARs="true" autoDeploy="true">
        <Context path="" docBase="/var/www/site2" />
    </Host>
 
</Engine>

配置说明

  • name:虚拟主机的域名,例如 www.site1.com 和 www.site2.com
  • appBase:设置为空字符串 "",因为我们直接指定了 docBase。 对应应用部署的目录
  • docBase:虚拟主机的文档根目录,分别为 /var/www/site1 和 /var/www/site2
  • path:设置为 "",表示虚拟主机的根路径(/)。

补充说明:Engine节点 是核心组件之一 用于管理虚拟主机 下面可以定义多个host节点

访问测试

Centos环境下Tomcat虚拟主机配置详细教程

4. 重启 Tomcat

重新启动 Tomcat 以应用新的配置:

$CATALINA_HOME/bin/shutdown.sh
$CATALINA_HOME/bin/startup.sh

5. 测试虚拟主机

在浏览器中访问以下地址:

访问 http://www.site1.com:8080,应显示 Welcome to Site 1

访问 http://www.site2.com:8080,应显示 Welcome to Site 2

注意事项

  • 防火墙配置 如果您的 Tomcat 运行在非默认端口(如 80),需要确保防火墙允许该端口的流量。
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
  1. DNS 配置 如果在生产环境中使用,需要在 DNS 服务器中配置 www.site1.com 和 www.site2.com 的域名解析到服务器的公网 IP。
  2. 生产环境建议
    • 使用 Apache 或 Nginx 作为反向代理,将域名请求转发到 Tomcat 的虚拟主机配置 HTTPS 以保证安全性。

总结

搞定之后回头看,其实配置 Tomcat 虚拟主机并不难,关编程键是要细心,别漏掉小细节。比如:

  • 目录路径:一定要确认 docBase 指向的目录存在,并且权限设置正确。
  • 防火墙:别忘了开放 Tomcat 的端口,不然你本地测得好好的,外网却访问不了。
  • DNS 配置:如果是线上环境,域名解析必须指向服务器的公网 IP。
  • 安全性:生产环境建议用 Nginx 或 Apache 做反向代理,别直接暴露 Tomcat,顺便把 HTTPS 配置上。

以上就是Centos环境下Tomcat虚拟主机配置详细教程的详细内容,更多关于Tomcat虚拟主机配置的资料请关注China编程(www.chinasem.cn)其它相关文章!

这篇关于Centos环境下Tomcat虚拟主机配置详细教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1153830

相关文章

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt

Spring中配置ContextLoaderListener方式

《Spring中配置ContextLoaderListener方式》:本文主要介绍Spring中配置ContextLoaderListener方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录Spring中配置ContextLoaderLishttp://www.chinasem.cntene

python连接本地SQL server详细图文教程

《python连接本地SQLserver详细图文教程》在数据分析领域,经常需要从数据库中获取数据进行分析和处理,下面:本文主要介绍python连接本地SQLserver的相关资料,文中通过代码... 目录一.设置本地账号1.新建用户2.开启双重验证3,开启TCP/IP本地服务二js.python连接实例1.

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Java图片压缩三种高效压缩方案详细解析

《Java图片压缩三种高效压缩方案详细解析》图片压缩通常涉及减少图片的尺寸缩放、调整图片的质量(针对JPEG、PNG等)、使用特定的算法来减少图片的数据量等,:本文主要介绍Java图片压缩三种高效... 目录一、基于OpenCV的智能尺寸压缩技术亮点:适用场景:二、JPEG质量参数压缩关键技术:压缩效果对比

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++