设为首页 收藏本站
查看: 548|回复: 0

[经验分享] Tomcat 的虚拟主机

[复制链接]

尚未签到

发表于 2018-12-2 09:04:00 | 显示全部楼层 |阅读模式
  Tomcat 默认只支持基于名称的虚拟主机        

  Tomcat的虚拟主机在 conf/server.xml 这个配置文件中定义的
  一、Tomcat的默认虚拟主机


  •       
            自定义的访问路径
  •      


  各选项的意义:
  auotDeploy="true"        自动布署 ,默认为false
      appBase="webapps"        定义这个主机的应用程序的路径,这里是相对于tomcat的安装路径( 也就是"/usr/local/tomcat "), 也可以使用绝对路径
      unpackWARs="true"        让Tomcat可以自动解压war文件
自定义访问路径



  path="/jcenter"            访问路径
  docBase="/web/jcenter"        网页文件的存放路径,docBase的路径名不能与相应的Host中appBase中定义的路径名有包含关系,比如,如果appBase为deploy,而docBase绝不能为deploy-bbs类的名字;
    reloadable="true"                是否允许自动装载
  下面我们就将 JavaCenter Home 这个开源的社交项目的相关文件放到我们自定的访问路径下(使用 Java Center Home 需要用到‘数据库’,因此需要先安装好数据库)
  1. 安装好数据库(可参考其它博文http://xyuex.blog.运维网.com/5131937/938738)
  2. 解压数据包


  • [root@node2 tmp]# mkdir /web/
  • [root@node2 tmp]# tar xf JavaCenter_Home_2.0_GBK.tar.bz2  -C /web

  • [root@node2 web]# ln -sv JavaCenter_Home_2.0_GBK/ jcenter
  • create symbolic link `jcenter' to `JavaCenter_Home_2.0_GBK/'

    3. 重启Tomcat


  • [root@node2 tomcat]# bin/catalina.sh stop
  • Using CATALINA_BASE:   /usr/local/tomcat
  • Using CATALINA_HOME:   /usr/local/tomcat
  • Using CATALINA_TMPDIR: /usr/local/tomcat/temp
  • Using JRE_HOME:        /usr/java/jdk1.7.0_05
  • Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
  • [root@node2 tomcat]# bin/configtest.sh     用来测试配置文件是否有语法错误
  • Using CATALINA_BASE:   /usr/local/tomcat
  • Using CATALINA_HOME:   /usr/local/tomcat
  • Using CATALINA_TMPDIR: /usr/local/tomcat/temp
  • Using JRE_HOME:        /usr/java/jdk1.7.0_05
  • Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
  • Oct 28, 2012 5:34:50 PM org.apache.catalina.core.AprLifecycleListener init
  • INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/i386:/lib:/usr/lib
  • Oct 28, 2012 5:34:52 PM org.apache.coyote.AbstractProtocol init     上面的信息只是提示我们没有安装APR 库,并不影响Tomcat的使用
  • INFO: Initializing ProtocolHandler ["http-bio-8080"]
  • Oct 28, 2012 5:34:52 PM org.apache.coyote.AbstractProtocol init
  • INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
  • Oct 28, 2012 5:34:52 PM org.apache.catalina.startup.Catalina load
  • INFO: Initialization processed in 3686 ms
  • [root@node2 tomcat]# bin/catalina.sh start
  • Using CATALINA_BASE:   /usr/local/tomcat
  • Using CATALINA_HOME:   /usr/local/tomcat
  • Using CATALINA_TMPDIR: /usr/local/tomcat/temp
  • Using JRE_HOME:        /usr/java/jdk1.7.0_05
  • Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

  4. 我们测试一下看看







  下面我们来演示如何在Tomcat中自定义一个虚拟主机
  二、自定义的虚拟主机
  自定义的虚拟主机的目录结构
/www/*
                            所有用户可以通过浏览器直接请求的文件
     index.jsp
     logo.jpg
    WEB-INF/{web.xml , classes/*, lib/* }    这个目录必须要有,存放的是当前应用程序的私有资源,如部署描述符文件web.xml ,所有放在 "WEB-INF" 这个目录下的 ‘资源(内容)’ 都是 “私有资源”,只能在当前服务器上被当前应用程序所访问  
            web.xml     当前应用程序的部署描述符文件,此文件可以复制 conf/web.xml  来获得
            classes/*    可能存放的是编译好的类的字节码(可执行的字节码)
            lib/*        打包好的jar文件,包含定义好的类



  1. 首先编辑 conf/server.xml  添加如下内容:



  •                
  •                      
  •         


  path=""       访问路径,相对于Web服务器根路径而言的URI;如果为空“”,则表示为此webapp的根路径;如果context定义在一个单独的xml文件中,此属性不需要定义;
docBase="/www"        相应的Web应用程序的存放位置;也可以使用相对路径,起始路径为此Context所属Host中appBase定义的路径;切记,docBase的路径名不能与相应的Host中appBase中定义的路径名有包含关系,比如,如果appBase为deploy,而docBase绝不能为deploy-bbs类的名字;
reloadable="true"     是否允许重新加载此context相关的Web应用程序的类;默认为false;

  2. 创建虚拟主机所需的相关目录和文件


  • [root@node2 ~]# mkdir -pv /www/tomcat/WEB-INF/{classes,lib}
       mkdir: created directory `/www'
       mkdir: created directory `/www/tomcat'
       mkdir: created directory `/www/tomcat/WEB-INF'
       mkdir: created directory `/www/tomcat/WEB-INF/classes'
       mkdir: created directory `/www/tomcat/WEB-INF/lib'
  •                              
  • [root@node2 ~]# cp /usr/local/tomcat/conf/web.xml  /www/tomcat/WEB-INF/




  • [root@node2 ~]# vi /www/tomcat/index.jsp    编辑默认主页  

  • 内容如下:



  •   TomcatA
  •    
  •     TomcatA  
  •      
  •       
  •         Session ID
  •          
  •       
  •       
  •         Created on
  •          
  •       
  •      
  •    




  • [root@node2 ~]# tree /www/
  • /www/
  • `-- tomcat
  •     |-- WEB-INF
  •     |   |-- classes
  •     |   |-- lib
  •     |   `-- web.xml
  •     `-- index.jsp

  • 4 directories, 2 files  

  3. 在Windows主机的hosts文件中加入 关于tomcat.yue.com  的 IP 对应(便于测试)
  在  C:\Windows/System32\drivers\etc\hosts  文件中添加      “192.168.1.12    tomcat.yue.com”
  4. 重启Tomcat,进行测试

  5. 查看我们自定义的日志:


  • [root@node2 tomcat]# tail logs/tomcat_access_2012-10-28.log
  •   .....
  • 192.168.1.2 - - [28/Oct/2012:19:14:05 +0800] "GET / HTTP/1.1" 200 437
  • 192.168.1.2 - - [28/Oct/2012:19:14:06 +0800] "GET / HTTP/1.1" 200 437

  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-642222-1-1.html 上篇帖子: tomcat安装配置及应用 下篇帖子: memcache实现基于tomcat的web应用集群
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表