xampp(Apache + Tomcat)与主机的域名绑定

2024-04-12 10:08

本文主要是介绍xampp(Apache + Tomcat)与主机的域名绑定,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前提:
1.在绑定之前,要保证Apache已经正确配置了代理Tomcat,并且正常运行。
2.有一个域名(本地测试可以通过修改hosts文件)

绑定步骤:

第一步 新建域名
打开host(C:\Windows\System32\drivers\etc),在文件末尾追加下面内容:
127.0.0.1 t1.m.com
127.0.0.1 t2.m.com

第二步 配置tomcat
打开%TOMCAT%\conf\server.xml,把文件中的host标签完整复制一份,修改如下:


<Host name="t1.m.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />

<Context docBase="xxxx" path="" reloadable="true"></Context>

</Host>


name:域名
appBase:包含工程的文件夹(上面的webapps其实就是%TOMCAT%\webapps)
docBase:工程文件夹(上面的xxxx其实就是%TOMCAT%\webapps\xxxx)

第三步 配置apache
打开%XAMPP%\apache\conf\extra\httpd-ajp.conf

删除之前apache对tomcat的代理,然后追加下面内容(Apache和Tomcat都在xampp中,所以这里使用127.0.0.1)

ProxyPass / ajp://127.0.0.1:8009/ smax=0 ttl=60 retry=5


配置完毕。
重新启动Apache和Tomcat。

测试:
在浏览器中输入t1.m.com回车,显示的不再是tomcat首页面,而是xxxx工程的首页面。

注:
不使用Apache的前提下,也可以单独使用Tomcat与域名绑定,修改server.xml中默认的8080端口为80即可,其他配置同上。
这个方法也适用于Tomcat直接与多个域名绑定,只需要在server.xml中包含多个host标签即可。

如果想把Apache与多个域名绑定,可以修改VirtualHost(下面的例子),并且可以把Tomcat集群的配置一并写在VirtualHost中。

<VirtualHost *:80>
ServerName t1.lvw.com

<Proxy *>
Order deny,allow
allow from all
</Proxy>

ProxyRequests Off
ProxyPreserveHost on
ProxyPass / balancer://proxy/ stickysession=JSESSIONID|jsessionid
ProxyPassReverse / balancer://proxy/
<Proxy balancer://proxy/>
BalancerMember ajp://192.168.0.77:8009/ loadfactor=1 route=tomcat7_a
BalancerMember ajp://192.168.174.159:8009/ loadfactor=1 route=tomcat7_b
</Proxy>
</VirtualHost>


[b]以下为追记 2012-06-15:[/b]

昨天发现工程中的log4j自动分割日志出现了问题,单个日志文件体积达到了1G,查找原因,发现是在tomcat下的配置文件server.xml中添加了host后引起的,删除添加的host后日志恢复正常,个中原因不甚明了。遂另想方法解决域名绑定,方法如下:
1.在apache中绑定域名
2.通过apache中的proxy把请求转发到tomcat
3.删除tomcat下server.xml中添加的host,只保留localhost一个host

例如:
有两个webapp,一个是webapp-a,另一个是webapp-b,要求如下:
1.地址栏输入t1.lvw.com时,访问webapp-a
2.地址栏输入t1.lvw.com/webapp-a时,访问webapp-a
3.地址栏输入t1.lvw.com/wab时,访问webapp-b
4.地址栏输入t1.lvw.com/webapp-b时,访问webapp-b

配置代码:

<VirtualHost *:80>
ServerName t1.lvw.com

<Proxy *>
Order deny,allow
allow from all
</Proxy>

# ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
# --------------------------- proxy config ------------------------------
# url proxy config
# config for webapp-a
ProxyPass /webapp-a ajp://127.0.0.1:8009/webapp-a smax=0 ttl=60 retry=5

# config for webapp-b
# 如果需要起别名,至少应该有两行定义
ProxyPass /wab ajp://127.0.0.1:8009/webapp-b smax=0 ttl=60 retry=5
ProxyPass /webapp-b ajp://127.0.0.1:8009/webapp-b smax=0 ttl=60 retry=5

# default mapping is webapp-a
ProxyPass / ajp://127.0.0.1:8009/webapp-a smax=0 ttl=60 retry=5
# ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

# ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
# ------------------------- balancer config -----------------------------
#ProxyPreserveHost on
#ProxyPass / balancer://proxy/ stickysession=JSESSIONID|jsessionid
#ProxyPassReverse / balancer://proxy/
#<Proxy balancer://proxy/>
# BalancerMember ajp://127.0.0.1:8009/ loadfactor=1 route=tomcat7_a
# #BalancerMember ajp://192.168.174.159:8009/ loadfactor=1 route=tomcat7_b
#</Proxy>
# ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
</VirtualHost>

这篇关于xampp(Apache + Tomcat)与主机的域名绑定的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

全网最全Tomcat完全卸载重装教程小结

《全网最全Tomcat完全卸载重装教程小结》windows系统卸载Tomcat重新通过ZIP方式安装Tomcat,优点是灵活可控,适合开发者自定义配置,手动配置环境变量后,可通过命令行快速启动和管理... 目录一、完全卸载Tomcat1. 停止Tomcat服务2. 通过控制面板卸载3. 手动删除残留文件4.

Ubuntu向多台主机批量传输文件的流程步骤

《Ubuntu向多台主机批量传输文件的流程步骤》:本文主要介绍在Ubuntu中批量传输文件到多台主机的方法,需确保主机互通、用户名密码统一及端口开放,通过安装sshpass工具,准备包含目标主机信... 目录Ubuntu 向多台主机批量传输文件1.安装 sshpass2.准备主机列表文件3.创建一个批处理脚

SpringBoot全局域名替换的实现

《SpringBoot全局域名替换的实现》本文主要介绍了SpringBoot全局域名替换的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录 项目结构⚙️ 配置文件application.yml️ 配置类AppProperties.Ja

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

IDEA中配置Tomcat全过程

《IDEA中配置Tomcat全过程》文章介绍了在IDEA中配置Tomcat的六步流程,包括添加服务器、配置部署选项、设置应用服务器及启动,并提及Maven依赖可能因约定大于配置导致问题,需检查依赖版本... 目录第一步第二步第三步第四步第五步第六步总结第一步选择这个方框第二步选择+号,找到Tomca

Apache Ignite 与 Spring Boot 集成详细指南

《ApacheIgnite与SpringBoot集成详细指南》ApacheIgnite官方指南详解如何通过SpringBootStarter扩展实现自动配置,支持厚/轻客户端模式,简化Ign... 目录 一、背景:为什么需要这个集成? 二、两种集成方式(对应两种客户端模型) 三、方式一:自动配置 Thick

MySQL多实例管理如何在一台主机上运行多个mysql

《MySQL多实例管理如何在一台主机上运行多个mysql》文章详解了在Linux主机上通过二进制方式安装MySQL多实例的步骤,涵盖端口配置、数据目录准备、初始化与启动流程,以及排错方法,适用于构建读... 目录一、什么是mysql多实例二、二进制方式安装MySQL1.获取二进制代码包2.安装基础依赖3.清

Apache Ignite缓存基本操作实例详解

《ApacheIgnite缓存基本操作实例详解》文章介绍了ApacheIgnite中IgniteCache的基本操作,涵盖缓存获取、动态创建、销毁、原子及条件更新、异步执行,强调线程池注意事项,避免... 目录一、获取缓存实例(Getting an Instance of a Cache)示例代码:二、动态

Spring Boot从main方法到内嵌Tomcat的全过程(自动化流程)

《SpringBoot从main方法到内嵌Tomcat的全过程(自动化流程)》SpringBoot启动始于main方法,创建SpringApplication实例,初始化上下文,准备环境,刷新容器并... 目录1. 入口:main方法2. SpringApplication初始化2.1 构造阶段3. 运行阶

Linux进程CPU绑定优化与实践过程

《Linux进程CPU绑定优化与实践过程》Linux支持进程绑定至特定CPU核心,通过sched_setaffinity系统调用和taskset工具实现,优化缓存效率与上下文切换,提升多核计算性能,适... 目录1. 多核处理器及并行计算概念1.1 多核处理器架构概述1.2 并行计算的含义及重要性1.3 并