6.tomcat实现多虚拟主机
6.tomcat实现多虚拟主机
实验前准备
[root@CentOS8 ~]# systemctl start tomcat
[root@CentOS8 ~]# systemctl status tomcat
[root@CentOS8 ~]# hostnamectl set-hostname tomcat
6.1准备数据目录,注意那个ROOT
[root@tomcat ~]#mkdir /data/website{1,2,3}/ROOT -pv
[root@tomcat ~]#vim /data/website1/ROOT/index.html
www.a.com
[root@tomcat ~]#vim /data/website2/ROOT/index.html
www.b.com
[root@tomcat ~]#vim /data/website3/ROOT/index.html
www.c.com
#设置权限
[root@tomcat ~]# chown -R tomcat.tomcat /data/website{1,2,3}/
6.2修改配置
[root@tomcat ~]#cd /usr/local/tomcat/
[root@tomcat tomcat]#vim conf/server.xml
available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="www.a.com" appBase="/data/website1" unpackWARs="true" autoDeploy="true">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
<Host name="www.b.com" appBase="/data/website2" unpackWARs="true" autoDeploy="true">
</Host>
<Host name="www.c.com" appBase="/data/website3" unpackWARs="true" autoDeploy="true">
</Host>
</Engine>
</Service>
</Server>
重启Tomcat服务
[root@tomcat tomcat]#systemctl restart tomcat
6.3测试访问
[root@CentOS6 ~]#vim /etc/hosts
10.0.0.7 www.a.com www.b.com www.c.com
[root@CentOS6 ~]# curl www.a.com:8080
[root@CentOS6 ~]# curl www.b.com:8080
[root@CentOS6 ~]# curl www.c.com:8080
www.c.com
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~