单个Tomcat
部署多应用
前言:
如果每个应用都单独使用一个
tomcat
来部署的话, 都会开启一条新进程, 会比较消耗系统资源!下面进行使用一个
tomcat
进行单端口与区分不同端口部署多应用!Linux跟windows系统下的步骤都差不多、下面使用的是windows系统
1. 使用一个端口部署多个应用
1.1 将多个应用的war包放入webapps
文件夹中
启动
Tomcat
按应用名http://localhost:8080/application-1/index.html
http://localhost:8080/application-2/index.html
访问项目即可。
1.2 为每个应用单独配置访问路径
修改
conf
文件夹下的server.xml
服务器配置,加上图片标红位置参数
以上新增内容说明:
- docBase属性: 指定Web应用的文件路径,可以是绝对路径,也可以给定相对路径
- path属性: 指定访问该Web应用的URL入口
- reloadable属性: 若这个属性为true,tomcat服务器在运行状态下会监视WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到class文件被更新,服务器会自动重新加载Web应用。
启动
Tomcat
按配置的应用名http://localhost:8080/application1/index.html
http://localhost:8080/application2/index.html
访问项目即可。
2. 使用不同端口部署多个应用
2.1 将多个应用的war包放入不同webapps
文件夹中
2.2 修改conf
文件夹下的server.xml
服务器配置,
为每个应用加上一个不同
service
节点配置不同端口
以上新增节点<Host></Host>
内容说明:
- name:设置虚拟主机的域名,比如 localhost 表示本机名称,实际应用时应该填写具体域名,比如www.dog.com 或者 dog.com,当然如果该虚拟主机是给内部人员访问的,也可以直接填写服务器的 ip 地址,比如 192.168.1.107(就是部署应用那台机子的本地IP地址)。
- autoDeploy:是否允许自动部署,默认值是 true,即表示 Tomcat 会自动检测 appBase 目录下面的文件变化从而自动应用到正在运行的 Web 应用程序。
- unpackWARs:设置是否自动展开 war 压缩包再运行 Web 应用程序,默认值是 true。
- appBase:设置 Web 应用程序组的路径。前面说过一个虚拟主机可以由多个 Web 应用程序构成,所以这里的 appBase 所指向的目录应该是准备用于存放这一组 Web 应用程序的目录,而不是具体某个 Web 应用程序的目录本身(即使该虚拟主机只由一个 Web 应用程序组成)。appBase 属性的值可以是相对于 Tomcat 安装目录的相对路径,也可以是绝对路径,需要注意的是该路径必须是 Tomcat 有权限访问的,通过 Arch Linux 源安装的 Tomcat 是通过 tomcat 用户运行的,因此创建一个新的 appBase 目录之后可以使用 chown 命令更改目录的所有者。
启动项目访问
http://localhost:8081/application-2/index.html
或http://localhost:8081/application-1/index.html
到此完毕。
1