1,tomcat解压包,通过startup.bat(windows系统)启动。
单独使用tomcat来部署多个web项目,并且我们要实现多个项目对应多个端口。以apache-tomcat-8.5.11为例。
1.1 下载好tomcat后解压,在tomcat根目录下复制一个webapps1(一个webapps对应一个端口),同时在当前的conf文件夹里复制一个复制一个
1.2我准备了两个简单的web项目sitech-demo1(部署在webapps)和sitech-demo2(部署在webapps1),将编译好的项目部署到对应的文件夹中。
1.3 配置tomcat。
1.4 配置server.xml,要添加多少个端口就添加多少个service标签
<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<!-- Prevent memory leaks due to use of particular java/javax APIs-->
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" 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" />
</Host>
</Engine>
</Service>
<Service name="Catalina1">
<Connector port="18080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="18009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina1" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps1"
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" />
<!-- 当通过eclipse之间部署到tomcat中时会自添加context标签其中path就是新的访问路径,eclipse中默认的项目名称
<Context docBase="sitech-demo1" path="/test" reloadable="true" source="org.eclipse.jst.jee.server:sitech-demo1"/>-->
</Host>
</Engine>
</Service>
</Server>
1.5 启动tomcat,startup.bat
1.6 测试访问结果
1.7 测试用的tomcat及demo
[https://download.youkuaiyun.com/download/zhanglin1220/10626922]
2、eclipse中配置项目,一个tomcat部署多个项目用不同的端口访问(测试环境tomcat7.0.41)
2.1 新建多个server启动项,
我这边因为demo1和demo2自己测试的时候已经建好,所以建了一个demo3这是为了演示操作步骤,小伙伴可以直接建立demo1,最后finish
2.2 双击demo3进行配置,我这边是测试第一种情况所以按第一种配置(配置完记得右键demo3pulish,这样才能在workspace中看到虚拟运行环境)
workspace下自动生成的虚拟运行环境
2.3往demo3中添加sitech-demo1项目后,双击demo3 server回到上面2.2的配置界面选择modules,此时可以看到已经添加进来的项目sitech-demo1,选中这条记录,eidt,编辑访问路径(path的值可以自己随便写都可以不一定要与server相同)所以我的访问路径就是http://localhost:18080/demo3/index.html
2.4 这样新建好多个启动项目对应对个项目,就可以同时启动多个项目,并通过不同的端口来访问,我测试用的是demo1,demo2两个启动项,demo3运行的是跟demo1一样的项目所以就不测试了
demo1--->项目sitech-demo1
demo2--->项目sitech-demo2
2.5 同时开启两个demo1和demo2启动项
2.6 测试结果
3 eclipse添加不同版本的tomcat运行
直接将tomcat解压,配置server.xml文件配置不同版本tomcat的端口,不出现端口占用就可以。
具体可以参看:
[https://blog.youkuaiyun.com/SUNBOYmxbsH/article/details/78824963]