tomcat服务器是apache下非常优秀的一款web服务器,当今的互联网企业中90%左右的中小型企业使用的都是tomcat。tomcat在部署项目时有很多很多的解决方案,这些你都清楚吗?

1、同一个端口部署多个项目

在webapps下同时防止多个项目,那么在tomcat启动的时候,这些项目都会跑起来。这一点想必大家都知道,在我们初次安装tomcat的时候,webapps下面就有多个项目。这些项目可以相互独立也可以相互影响,比如通过页面重定向技术就可以让本来独立的项目相互影响起来。

2、默认项目

刚安装好tomcat的时候我们会启动它,然后在浏览器里直接输入localhost:8080,然后就会进入相关页面,这时老师往往会告诉你安装成功了。但你知道为什么你不输入项目名称直接输入ip和端口号就直接可以访问吗?其实,tomcat有默认的规则,webapps下的项目如果有ROOT名称的项目,那么这个项目就作为默认项目,访问的时候你就不需要加上项目的名称。其次,他为什么可以直接访问的相关的主页呢?原因在于web.xml这个文件里面的<welcome-file-list>标签,你可以在这里配置项目中默认访问的主页。

当然,你不必每次发布项目时都把自己的项目改名为ROOT,还有另外的一种处理方式,就是重写ROOT项目名称,ROOT名称是tomcat源码里面默认的一个项目名称,但是他也为我们开发者提供了一个便利的手段,通过配置server.xml来实现。我们需要在<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">的标签里面配置<Context path="" docBase="\istone-mngwx" debug="0" reloadable="true" />标签就可以了,其中docBase表示重写ROOT的项目名称,path表示虚拟访问路径,空白表示直接可以通过ip加上port就可以访问了。当然前提如果需要修改默认主页的话,需要在web的xml里面修改。

3、https协议

tomcat不仅支持http协议还支持https协议,有的时候我们需要将自己的项目发布成https的,那我们就需要在tomcat里面配置了。首先第一步当然需要得到ssl证书,如果自己开发测试就完全可以使用apache的工具自己制作证书了。tomcat支持同一个项目使用不同的端口进行访问,我们完全可以配置另外一个端口走https协议,

<Connector port="9898" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="E:\GRG项目\paybill\apache-tomcat-7.0.69-windows-x64\apache-tomcat-7.0.69\tomcat.keystore"
keystorePass="tomcat"/>

4、同一个tomcat部署不同端口不同项目

虽然大多数一个tomcat部署一个项目,多个项目的话就开启多个tomcat,当然在开启多个tomcat的时候,里面的各个端口号最好都做相应的修改。然后通过不同的端口来部署各自的项目。但是对于题目中的这种需求,tomcat也是可以实现的。我们只需要在tomcat的server.xml文件里配置多个service就可以了。然后再service里面配置端口等信息。

  <Service name="Catalina1">
<Connector port="8098" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" />
<Connector port="8067" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
<Engine name="Catalina1" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps1" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service>

最近在部署项目时候遇到了一点问题,于是就把tomcat容器好好研究了一番,突然发现不起眼的tomcat竟然还有如此多的功能,当然这只是tomcat的冰山一角,tomcat8开始的新的NIO访问机制,这都是一些比较底层的东西,有时间的话还是应该看看源码研究一下。

tomcat的相关使用的更多相关文章

  1. Liunx下的有关于tomcat的相关操作 && Liunx 常用指令

    先记录以下liunx下的有关于tomcat的相关操作 查看tomcat进程: ps-ef|grep java (回车) 停止tomcat进程: kill -9 PID (进程号如77447) (回车) ...

  2. tomcat守护相关

    tomcat守护相关(centos7) 今天在部署自己的服务到CentOS7服务器上tomcat中时,担心服务宕机想守护一下服务程序,于是现在网上找了一个用while写的循环守护脚本,后来发现这种方式 ...

  3. 第一次项目上Linux服务器(三:安装Tomcat及相关命令)

    一.下载Tomcat 去官网:http://tomcat.apache.org/ 找到要下载的Tomcat 本人下载的是apache-tomcat-8.5.29.tar.gz,百度云资源链接:链接:h ...

  4. tomcat的相关

    [针对tomcat修改,那么就直接找关于tomcat的相关文件目录进行修改即可] 1.对tomcat进行相关的操作,启动tomcat时,让其不要出现tomcat主页,与之相反的让其出现404的界面! ...

  5. Tomcat中相关配置详解

    tomcat的相关配置 server.xml <Server port="8005" shutdown="SHUTDOWN"> <!-- 属性 ...

  6. Tomcat服务相关

    1. 将Tomcat安装成服务. 找到bin\service.bat文件,往cmd命令行窗口一拉,如果只提示service /remove [../..]那就是Tomcat和java的路径配置没问题. ...

  7. Tomcat的相关配置

    一.Tomcat背景 自从JSP发布之后,推出了各式各样的JSP引擎.Apache Group在完成GNUJSP1.0的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供Web服务的JS ...

  8. Eclipse中tomcat之后,tomcat的相关配置会被Eclipse重置

    之前用MyEclipse,在tomcat的conf中修改了配置文件,启动就OK了. 现在改用Eclipse,发现改了,之后发现没有用,Eclipse重启tomcat之后,配置文件就被重置了. 众里寻他 ...

  9. Apache整合Tomcat的相关问题

    一.概述 在开发中遇到一个问题,tomcat 与Apache服务器适配的问题.客户那边是用wampserver这个集成软件,Aapche版本为2.4.9.想要将tomcat上的jsp显示在Apache ...

随机推荐

  1. 6.动态sql - if

    满足条件的数据 mapper.xml 满足if条件就执行,不满足就不加 <select id="selectStateByTitle" parameterType=" ...

  2. Qt 学习之路 2(1):序

    https://www.devbean.net/category/qt-study-road-2/page/10 原来开过QT学习之路1, 很棒, 再翻阅时已经没有了. 所以这次把看过的记录下来 Ho ...

  3. 江西财经大学第一届程序设计竞赛 A

    链接:https://www.nowcoder.com/acm/contest/115/A来源:牛客网 题目描述 "挤需体验五番钟,里造会挨上这款游戏!" 怎么可能嘛!当我是傻子吗 ...

  4. linux磁盘与文件管理

    一.硬盘的组成与分区 1.物理组成 *圆形的盘片(主要记录数据的部分) *机械手臂与机械手臂上的磁头(可读写盘片上的数据) *主轴马达,可以转动盘片,让机械手臂的磁头在盘片上写数据. *扇区为最小的物 ...

  5. python 文件与异常

    ####文件### r: -只能读 不能写 -读取文件不存在,是会报错 r+: - 可以执行读写操作; - 文件不存在, 报错: w: -只能写,不能读 -会清空文件内容 -文件不存在,会新建文件 w ...

  6. c++中enum 如何使用(转)

    ENUM概况 enum枚举类型是C/C++中的一种数据类型,与struct和class一样是用户自定义的类型,其特点在于enum类型的变量取值是有限的,是可以一一列举出来的. ENUM定义 C++ e ...

  7. yii2下的路由重写

    1.在config/main.php中添加配置信息 文件位置如图所示(图中展示的是backend下的config,也可以在fronted和common的config中添加) 配置的代码标准格式如下 ' ...

  8. spark on yarn,cluster模式时,执行spark-submit命令后命令行日志和YARN AM日志

    [root@linux-node1 bin]# ./spark-submit \> --class com.kou.List2Hive \> --master yarn \> --d ...

  9. Selenium2(WebDriver)中执行JavaScript代码 (转)

    在用selenium编写web页面的自动化测试代码时,可能需要执行一些JavaScript代码,selenium本身就支持执行js,我们在代码中可以使用executeScript.executeAsy ...

  10. 获取tomcat路径

    String serverPath = System.getProperty("catalina.home");