Tomcat 部署 Java Web 项目,在 Windows 和 Linux 上的操作类似,这里以 Windows 为例。
这里以一个 SSM 框架的项目为例,通过 Maven 打包后 target 目录里的内容如下:
我们只需要将 crm.war
或者 crm
文件夹放到 Tomcat 安装目录下的 webapps
目录中:
直接放crm
文件夹,可以方便后期修改时只更新对应文件,如果使用war
包,就需要全量更新整个war
包。
启动 Tomcat 后,即可以访问到项目 http://localhost:8080/crm/login:
ROOT
目录比较特殊,里边是 Tomcat 的欢迎页,如果直接将ROOT
目录中的内容,替换成crm
里边的内容,这样访问时可以简化路径为 http://localhost:8080/login,要不要这么做也要根据你的时间情况!
这样就完成了单个项目的部署,还是很简单的。
如果要部署多个项目,最简单的办法是在webapps
下放置不同的项目,但这样所有的项目会共用不同的端口,比较混乱,比较好的办法可以这样做:
将webapps
目录复制一份命名为webapps2
,和原有的webapps
同级,并将打包好的项目也给里边放一份:
然后修改 Tomcat 的server.xml
配置文件,新增一个Service
节点,端口号设置为9090
,同时修改两个name
的值为Catalina2
,修改appBase
的值为webapps2
:
<Service name="Catalina2">
<Connector port="9090"
protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Engine name="Catalina2" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps2"
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>
最后,重新启动 Tomcat。
这样就这样通过 http://localhost:8080/crm/login、http://localhost:9090/crm/login,分别来访问两个项目了。