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. node mysql问题:Client does not support authentication protocol requested by server; consider upgrading MySQL client!

    node后台 mysql处理模块(版本:2.16.0) 执行connect方法时报错: Client does not support authentication protocol requeste ...

  2. Nginx01---简单使用

    基于腾讯云--ubuntu系统 1.安装nginx sudo apt-get install nginx 2.启动,停止nginx nginx -c /usr/local/nginx/conf/ngi ...

  3. Qt 学习之路 2(3):Hello, world!

     豆子  2012年8月22日  Qt 学习之路 2  107条评论 想要学习 Qt 开发,首先要搭建 Qt 开发环境.好在现在搭建 Qt 开发环境还是比较简单的.我们可以到 Qt 官方网站找到最新版 ...

  4. 【ABP开发】:asp.net core 中使用mysql

    EntityFrameworkCore项目--Nuget包管理,卸载包: Microsoft.EntityFrameworkCore.SqlServer: EntityFrameworkCore项目和 ...

  5. CodeForces-Zuhair and Strings(思维+枚举)

    Given a string ss of length nn and integer kk (1≤k≤n1≤k≤n). The string ss has a level xx, if xx is l ...

  6. 毕业设计 python opencv实现车牌识别 形状定位

    主要代码参考https://blog.csdn.net/wzh191920/article/details/79589506 GitHub:https://github.com/yinghualuow ...

  7. hdu2063 最大二分匹配(匈牙利算法)

    过山车 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  8. Oozie的缺点

    Oozie使用的时候有以下不便: [a]Oozie调度的Workflow只能使用XML文件配置 [b]启动调度只能通过命令行 [c]无法通过Oozie界面调试调度脚本 [d]Oozie无法可视化调试脚 ...

  9. R语言安装程序包

    自动安装(在线安装) 在R的控制台,输入 install.packages("gridExtra") # 安装 gridExtra install.packages("s ...

  10. java——红黑树 RBTree

    对于完全随机的数据,普通的二分搜索树就很好用,只是在极端情况下会退化成链表. 对于查询较多的情况,avl树很好用. 红黑树牺牲了平衡性,但是它的统计性能更优(综合增删改查所有的操作). 红黑树java ...