将要部署的项目拷贝到webapps目录下,访问地址为:127.0.0.1:8080/项目文件夹名。web
修改server.xml的配置,添加一个server标签apache
第一个项目访问地址为127.0.0.1:8080/authoritytomcat
第二个项目访问地址为127.0.0.1:/smartcityapp
<?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"/> <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> <!-- 第一个 server --> <Service name="Catalina"> <!-- 8080为http请求处理端口,咱们在网页上输入的普通url地址包含的端口就是他 .这个端口叫http端口 --> <!-- 8443为https请求的处理端口.这个端口叫https端口. --> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/> <!-- 8011为接收AJP协议的处理端口.这个端口叫ajp端口是定向包协议,做用是使用二进制格式来传输可读性文本--> <!-- 该端口不能重复不然会报错,可是不影响使用,项目仍然能够继续启动 --> <Connector port="8011" 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"/> <!-- 自定义项目路径,path为访问的项目路径,reloadable为是否当项目文件发生变化时是否重载,doBase为项目路径能够是绝对路径,相对路径相对于webapps目录 --> <Context path="/authority" reloadable="true" docBase="C:/Users/rockjh/Desktop/project/authority"/> </Host> </Engine> </Service> <!-- 第二个service --> <Service name="Catalina"> <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/> <Connector port="8012" 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"/> <Context path="/smartcity" reloadable="true" docBase="C:/Users/rockjh/Desktop/project/smartcity"/> </Host> </Engine> </Service> </Server>
进入tomcat管理界面部署项目webapp
由于咱们在进入管理界面以前须要登陆,对用户进行受权,因此须要在conf/tomcat_users.xml中的<tomcat-users>标签中添加ui
<role rolename="admin-gui"/> <role rolename="admin-script"/> <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <user username="admin" password="123456" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>
启动tomcat,进入http://localhost:8080url
点击右上方的manager app,其中WAR file to deploy最为简单code
点击浏览选择.war文件,而后点击Deploy便可server
注意xml
在这种部署方式下若是项目的web.xml中存在
<context-param> <param-name>webAppRootKey</param-name> <param-value>webapp.root</param-value> </context-param>
部署在同一个容器的web项目,值不能相同,不然会启动失败!