4.tomcat虚拟主机和页面

基于域名虚拟主机

#基于域名虚拟主机:
#tomcat的虚拟主机是基于域名存在的,修改host的的name选项即可,也可以通过appbase修改站点根目录,tomcat每次都会访问host的appbase目录下的ROOT目录下的index.jsp文件,tomcat的配置文件的页面路径是以目录的形式存在
#tomcat的虚拟主机其实就是在一个Tomcat服务上增加一个host,在配置文件中增加host配置信息,编写域名配置,使其访问时访问域名即可得到相应信息,一个Tomcat服务上可以配置多个虚拟主机,也就是多个域名

vim /usr/local/tomcat/conf/server.xml
       <Host name="www.ceshi.com"  appBase="/ceshi"            #域名,站点目录
             unpackWARs="true" autoDeploy="true">              #是否自动解压war包,是否自动部署war包
       </Host>   
mkdir -p /ceshi/ROOT                                           #为虚拟主机创建站点目录,ip递归创建
echo "ceshi success" > /ceshi/ROOT/index.jsp                   #写入页面文件
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh 
vim /etc/hosts                                                 #解析域名
192.168.5.4 www.ceshi.com

firefox www.ceshi.com:8080
ceshi success

tomcat的自定义页面

#tomcat的自定义页面,自定义tomct的站点根目录context的访问
#其实就是除了默认主页index.jsp之外的其他页面,一个网站或者APP除了首页之外也会有很多其他页面,这context就是做的其他页面,一个虚拟主机可以多很多个的context,使用超链接进行页面转换

vim /usr/local/tomcat/conf/server.xml 
       <Host name="www.ceshi.com" appBase="/ceshi_dir"         #域名,站点目录路径
             unpackWARs="true" autoDeploy="true">              #自动解包,自动部署
          <Context path="ceshi" docBase="/ceshi_dir/ceshi"     #path项目访问路径,docBase页面文档实际存放路径
             reloadeable="false"  crossContext="true"/>        #不自动重新加载,context共享一个会话
#</Host>结尾在最后面,不需要加
       
mkdir -p /ceshi_dir/ceshi
echo "ceshi success" > /ceshi_dir/ceshi/index.jsp
/usr/local/tomcat/bin/shutdown.sh 
/usr/local/tomcat/bin/startup.sh 
netstat -anput | grep 8080
tcp6       0      0 :::8080                 :::*                    LISTEN      63475/java 

vim /etc/hosts
192.168.5.4 www.ceshi.com

curl www.aaa.com:8080/ceshi/index.jsp
ceshi success
curl www.ceshi.com:8080/ceshi/                                 #此位置最后面的/不能取消
ceshi success

关于站点目录的标准叙述

       <Host name="www.ceshi.com" appBase="/ceshi_dir"         #域名,站点目录
             unpackWARs="true" autoDeploy="true">              #自动解包,自动部署
          <Context path="ceshi" docBase="/ceshi_dir/ceshi"     #path访问路径,docBase页面文档存放路径
             reloadeable="false"  crossContext="true"/>        #不自动重新加载,context共享一个会话
       </Host>
       
1.host的name是域名位置,appbase是此虚拟主机的站点根目录,默认是tomcat下的webapps,配置文件默认没有context内容,这种情况下默认访问的是wabapps下的ROOT目录的index.jsp文件。如果部署项目可以部署在webapps下,访问时加访问的项目目录名称即可,如firefox 192.168.5.4:8080/bdqnweb,即bdqnweb部署在了webpps下
2.context的path是虚拟路径可以理解为项目目录名。docbase是实际文档存放的位置,此位置写绝对路径,且不能是webapps目录内的路径,否则会导致应用被加载两次,当此位置填写后会覆盖webapps的位置,
3.当寻找到站点根目录的时候,有详细路径会直接寻找详细路径,无详细路径则会寻找在站点根目录内的ROOT目录,无ROOT目录则无反馈

curl www.aaa.com:8080/ceshi/index.jsp
ceshi success
curl www.ceshi.com:8080/ceshi/
ceshi success
解析:当访问这个网址,通过hosts解析到5.4的IP地址,然后通过配置文件知道根目录位置/ceshi_dir,项目是ceshi,项目文档实际存放路径/ceshi_dir/ceshi,然后再找到需要的文档/ceshi_dir/ceshi

mkdir /ceshi_dir/ROOT/
echo 123 > /ceshi_dir/ROOT/index.jsp
curl www.ceshi.com:8080
123
curl www.ceshi.com:8080/ceshi/
ceshi success
解析:当我在站点根目录内建立的ROOT目录后,写入新的内容123,访问并没有写详细路径,则寻找到站点根目录后会寻找默认的ROOT目录下的内容,当有具体路径是则是相应内容

部署war包

将war包放入tomcat 安装目录中的 webapps中
tomcat会自动解压,重新启动tomcat,即可通过浏览器进行访问
ls /usr/local/tomcat/webapps/
bdqnweb  bdqnweb.war  docs  examples  host-manager  manager  ROOT
访问时访问连接加上war包解压出的目录名称,如下:
firefox 192.168.5.4:8080/bdqnweb
Hello World!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值