Tomcat下部署多个项目

来源:互联网 发布:淘宝装修一键安装 编辑:程序博客网 时间:2024/05/17 04:34

同一端口号的多个项目部署

    添加:

[html] view plain copy 在CODE上查看代码片派生到我的代码片
  1. <Context path="/route" reloadable="true" docBase="/home/develop/tomcat-7.0.54/flatrass"/>  
  2. <Context path="/route2" reloadable="true" docBase="/home/develop/tomcat-7.0.54/flatrasweats"/>  
通过访问:http://127.0.0.1:8080/route  http://127.0.0.1:8080/route2 对应各子的项目


对应不同端口号的多个项目部署

通过访问:http://127.0.0.1:8080/route  http://127.0.0.1:8081/route 对应各子的项目        
        打开conf文件夹server.xml文件,添加

[html] view plain copy 在CODE上查看代码片派生到我的代码片
  1. <Context path="/route" reloadable="true" docBase="/home/develop/tomcat-7.0.54/flatrass"/>  


        在service标签下面写一个service标签。复制上面service,再修改里面的端口号为8081。添加:

[html] view plain copy 在CODE上查看代码片派生到我的代码片
  1. <Context path="/route" reloadable="true" docBase="/home/develop/tomcat-7.0.54/flatrasweats"/>  


[html] view plain copy 在CODE上查看代码片派生到我的代码片
  1. <?xml version='1.0' encoding='utf-8'?>  
  2.   
  3. <Server port="8054" shutdown="SHUTDOWN">  
  4.     <!-- Security listener. Documentation at /docs/config/listeners.html <Listener   
  5.         className="org.apache.catalina.security.SecurityListener" /> -->  
  6.     <!--APR library loader. Documentation at /docs/apr.html -->  
  7.     <Listener className="org.apache.catalina.core.AprLifecycleListener"  
  8.         SSLEngine="on" />  
  9.     <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->  
  10.     <Listener className="org.apache.catalina.core.JasperListener" />  
  11.     <!-- Prevent memory leaks due to use of particular java/javax APIs -->  
  12.     <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />  
  13.     <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />  
  14.     <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />  
  15.   
  16.   
  17.     <GlobalNamingResources>  
  18.   
  19.         <Resource name="UserDatabase" auth="Container"  
  20.             type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved"  
  21.             factory="org.apache.catalina.users.MemoryUserDatabaseFactory"  
  22.             pathname="conf/tomcat-users.xml" />  
  23.     </GlobalNamingResources>  
  24.   
  25.   
  26.     <Service name="Catalina">  
  27.   
  28.         <!--protocol 请使用nio2,或者apr -->  
  29.   
  30.         <Connector port="8080" protocol="HTTP/1.1"  
  31.             connectionTimeout="20000" redirectPort="9543" />  
  32.   
  33.   
  34.         <Connector port="8909" protocol="AJP/1.3" redirectPort="9543" />  
  35.   
  36.         <Engine name="Catalina" defaultHost="localhost">  
  37.   
  38.             <Realm className="org.apache.catalina.realm.LockOutRealm">  
  39.   
  40.                 <Realm className="org.apache.catalina.realm.UserDatabaseRealm"  
  41.                     resourceName="UserDatabase" />  
  42.             </Realm>  
  43.   
  44.             <Host name="localhost" appBase="webapps" unpackWARs="true"  
  45.                 autoDeploy="true">  
  46.   
  47.                 <Valve className="org.apache.catalina.valves.AccessLogValve"  
  48.                     directory="logs" prefix="localhost_access_log." suffix=".txt"  
  49.                     pattern="%h %l %u %t "%r" %s %b"/>  
  50.                 <Context path="/route" reloadable="true"  
  51.                     docBase="/home/develop/tomcat-7.0.54/flatrass" />  
  52.             </Host>  
  53.         </Engine>  
  54.     </Service>  
  55.   
  56.     <Service name="Catalina">  
  57.         <!--把port改成8081 -->  
  58.         <!--protocol 请使用nio2,或者apr -->  
  59.         <Connector port="8081" protocol="HTTP/1.1"  
  60.             connectionTimeout="20000" redirectPort="9543" />  
  61.         <Connector port="8909" protocol="AJP/1.3" redirectPort="9543" />  
  62.         <Engine name="Catalina" defaultHost="localhost">  
  63.             <Realm className="org.apache.catalina.realm.LockOutRealm">  
  64.                 <Realm className="org.apache.catalina.realm.UserDatabaseRealm"  
  65.                     resourceName="UserDatabase" />  
  66.             </Realm>  
  67.             <Host name="localhost" appBase="webapps" unpackWARs="true"  
  68.                 autoDeploy="true">  
  69.                 <Valve className="org.apache.catalina.valves.AccessLogValve"  
  70.                     directory="logs" prefix="localhost_access_log." suffix=".txt"  
  71.                     pattern="%h %l %u %t "%r" %s %b"/>  
  72.                 <Context path="/route" reloadable="true"  
  73.                     docBase="/home/develop/tomcat-7.0.54/flatrasweats" />  
  74.             </Host>  
  75.         </Engine>  
  76.     </Service>  
  77. </Server>  

Javahome set :

setclasspath.sh

export JAVA_HOME=/home/qatest/jdk1.8.0_91export JRE_HOME=/home/qatest/jdk1.8.0_91/jre

web.xml的加载过程是:

context-param -> listener -> filter -> servlet
其它:
service httpd status service httpd restart lsof -i:80 chmod +x catalina.sh ps –ef|grep tomcat rm –rf file
启动tomcat #   ./startup.sh
关闭tomcat #   ./shutdown.sh
查看是否启动成功可以输入ps axuwf|grep Java,
如果出现一大堆结果,就是启动成功了.也可以netstat -lnpt,查看8088端口有没有被使用.如果被使用了,说明启动成功了.

注:

<Context path="" docBase="E:/tomcatApp/JeasyCMS" reloadable="true" />



<Context>元素的属性: 


path:指定访问该Web应用的URL入口。 


docBase:指定Web应用的文件路径,可以给定绝对路径,也可以给定相对于<Host>的appBase属性的相对路径,如果Web应用采用开放目录结构,则指定Web应用的根目录,如果Web应用是个war文件,则指定war文件的路径。(指定项目所在地址) 


reloadable:如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到有class文件被更新的,服务器会自动重新加载Web应用。

TOMCAT部署项目有3种方法:
1、直接把项目放在webapps里
2、修改conf里server.xml文件,添加一个Context,指向项目的目录
3、在Catalina/localhost目录里,新增一个xml文件,添加一个Context内容,指向项目的目录。
<Context path="/目录名" docBase="e:/example" debug="0" reloadable="true" />

优先级别为:3>2>1

第3个方法有个优点,可以定义别名。服务器端运行的项目名称为path,外部访问的URL则使用XML的文件名。这个方法很方便的隐藏了项目的名称,对一些项目名称被固定不能更换,但外部访问时又想换个路径,非常有效。

第2、3还有优点,可以定义一些个性配置,如数据源的配置等。

0 0
原创粉丝点击