Tomcat简单网站部署的三种方式小结
1、隐式部署
为什么可以隐式部署,是因为 Tomcat 配置了默认主机对应应用 webapps,在 Engine 下你也可以配置其他主机(要保证你配置的主机在 ect/host 下有对应关系),但是 appBase 要确保唯一。保证每台主机下资源隔离,不会互相乱窜。如下所示:
提示:这里所说的主机换个说法叫做域名,localhost 是 127.0.0.1 的域名,otherlocalhost 也是 127.0.0.1 的一个域名。
比如 localhost 域名对应的 appBase 目录是默认的 webapps,webapps 下面又对应着 n 多网站应用。
当你用 http://localhost:8080 访问时,Tomcat 就知道你要去访问 webapps 目录下的某个网站。
当你用 http://otherlocalhost:8080 访问时,Tomcat 就知道你要去访问 otherHostWeb 目录下的某个网站。
假设现在我有个网站 MyWeb1,里面有个 abc.html 页面,内容如下:
Hello World11111!!!
现在准备把 MyWeb1 部署到 Tomcat 服务器上,可以直接把 MyWeb1 网站丢到默认主机 webapps 下面。如下图示:

问题:怎么访问 webapps 主机下面的网站呢?
因为 webapps 主机下没有指定 path 访问前缀,所以默认就是 / 前缀。然后你想访问 webapps 下哪个资源文件,直接定位到路径即可,比如:abc.html 页面,访问路径:http://localhost:8080/MyWeb1/abc.html 即可。如果 MyWeb1 网站下有首页 index.html、index.jsp 等存在时,直接访问 http://localhost:8080/MyWeb1 就能够进入首页。同理,访问 webapps 主机下其他网站也是一个道理。
- 比如 docs 网站,访问路径:http://localhost:8080/docs
- 比如 manager 网站,访问路径:http://localhost:8080/manager
- 比如 host-manager 网站,访问路径:http://localhost:8080/host-manager
- 比如 examples 网站,访问路径:http://localhost:8080/examples
最后提醒下每个网站都会有自己的服务处理类 Servlet,而这些 Servlet 都是通过 WEB-INF/web.xml 集成进来。
隐式部署有点不友好就是必须要把网站应用放到 webapps 主机下(配置一台主机的情况下)。如果这个主机下文件过多,容易出错。
2、显示部署
在 Server.xml 文件中直接配置 Context 网站应用即可,如下:
appBase:相当于是一个主机的根目录/,默认名称叫做 webappspath:在 webapps 主机下会有多个网站,可以通过 path 来进行区分docBase:path访问网站文件具体目录,比如上面的 abc.html 就在 /Users/gwm/Downloads/MyWeb1 文件目录下。因为 docBase 可以指定网站资源文件位置,所以你就不用将网站再放到之前的 webapps 主机下面。
所以最终访问 abc.html 的路径是:http://localhost:8080/myWeb1/abc.html。
3、xml 配置部署
上面显示部署需要修改 Server.xml 全局配置文件。该文件非常重要,一般不要轻易修改,否则启动不了。所以就这里提供了另外一种部署方法,也是最常用的一种方法—xml 配置方式。
当你运行一次 Tomcat 之后,Tomcat 会自动在 conf 文件目录下自动生成 /config/Catalina/localhost/ 目录。然后你就可以在这个目录下新建一个 xml 文件。xml 文件名称就是你网站的访问路径。比如新建一个 abc.xml 文件,如下所示:
警告:这里注意声明 xml 配置时,第一行上面绝对不要有空行。否则这个 xml 文件不生效。
整体目录如下图示:

最终访问路径:http://localhost:8080/abc/abc.html 推荐使用第三种方式部署服务。修改的文件都是局部文件,不会影响到其他人的部署。
栏 目:其它服务器
下一篇:解决tomcat启动报错:一个或多个listeners启动失败问题
本文标题:Tomcat简单网站部署的三种方式小结
本文地址:https://zz.feitang.co/server/29024.html
您可能感兴趣的文章
- 12-20Kubernetes中使用临时容器进行故障排查的方法
- 12-20Nginx设置HTTPS的方法步骤
- 12-20二进制方式安装 Kubernetes1.18.3版本实现脚本
- 12-20Nginx工作模式及代理配置的使用细节
- 12-20ZooKeeper分布式协调服务设计核心概念及安装配置
- 12-20Kubernetes部署可视化地图的十个步骤
- 12-20关于docker清理Overlay2占用磁盘空间的问题(亲测有效)
- 12-20Docker compose配置文件写法及命令使用示例
- 12-20openwrt安装docker并启动的操作方法
- 12-20云原生Kubernetes初始化容器Init使用教程


阅读排行
推荐教程
- 12-07一文教你怎么选择Tomcat对应的JDK版本
- 12-07新版Eclipse集成Tomcat时找不到server选项的解决方法
- 12-06IIS7 应用程序池自动回收关闭的解决方案
- 12-05Windows Server 2019安装VMware
- 12-05Windows服务器默认IE浏览器无法下载文件的解决方法
- 12-05Docker安装Jenkins全过程
- 12-19Zabbix SAML SSO 登录绕过漏洞的操作流程
- 12-15Docker-Compose搭建Spark集群的实现方法
- 12-14Docker Desktop无法正常启动解决(failed to start...)
- 12-14k8s 与docker空间使用分析与清理方法





