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

相关文章

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

Tomcat版本与Java版本的关系及说明

《Tomcat版本与Java版本的关系及说明》:本文主要介绍Tomcat版本与Java版本的关系及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat版本与Java版本的关系Tomcat历史版本对应的Java版本Tomcat支持哪些版本的pythonJ

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

如何将Tomcat容器替换为Jetty容器

《如何将Tomcat容器替换为Jetty容器》:本文主要介绍如何将Tomcat容器替换为Jetty容器问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat容器替换为Jetty容器修改Maven依赖配置文件调整(可选)重新构建和运行总结Tomcat容器替

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

基于@RequestParam注解之Spring MVC参数绑定的利器

《基于@RequestParam注解之SpringMVC参数绑定的利器》:本文主要介绍基于@RequestParam注解之SpringMVC参数绑定的利器,具有很好的参考价值,希望对大家有所帮助... 目录@RequestParam注解:Spring MVC参数绑定的利器什么是@RequestParam?@

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

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

Python如何获取域名的SSL证书信息和到期时间

《Python如何获取域名的SSL证书信息和到期时间》在当今互联网时代,SSL证书的重要性不言而喻,它不仅为用户提供了安全的连接,还能提高网站的搜索引擎排名,那我们怎么才能通过Python获取域名的S... 目录了解SSL证书的基本概念使用python库来抓取SSL证书信息安装必要的库编写获取SSL证书信息

Nginx配置location+rewrite实现隐性域名配置

《Nginx配置location+rewrite实现隐性域名配置》本文主要介绍了Nginx配置location+rewrite实现隐性域名配置,包括基于根目录、条件和反向代理+rewrite配置的隐性... 目录1、配置基于根目录的隐性域名(就是nginx反向代理)2、配置基于条件的隐性域名2.1、基于条件