美文网首页
《开源中间件Tomcat高级应用浅析》笔记

《开源中间件Tomcat高级应用浅析》笔记

作者: shaYanL | 来源:发表于2019-11-09 23:01 被阅读0次

    1.主页部署

    问题:
    http://127.0.0.1:8080是Tomcat默认的主页,
    也就是tomcat的应用配置页面,如何把主页部署成我们的项目呢?

    方案:
    第1步: 在webapps目录下,删除tomcat自带资源
    第2步: 将我们的项目war包移到webapps目录下
    第3步: 将我们的项目war包改名为ROOT

    2.多节点部署

    问题:
    如何在同一天服务器上开启多个tomcat节点?
    问题根源:
    开启第1个tomcat节点后,该tomcat节点会占用3个默认端口,
    开启第二个tomcat节点时就会发现用到的3个端口被占用,无法开启t第2个tomcat节点
    tomcat默认占用的3个端口分别为:
    8005 - 负责监听关闭tomcat的命令
    8080 - 负责监听浏览器的请求【也就是用户访问请求】
    8009 - 负责监听其他服务器转发的请求

    方案:
    在第2个tomcat节点的conf/server.xml中修改以上3个端口为:未被第一个节点使用的端口号

    3.远程部署

    问题:
    平时uat测试时,通常的部署方式是通过远程工具登录到 uat的节点去更换 war包,重启服务,
    但是线上版本这样做,需要给发布者相对应的权限,笔者不久前有一次经历,虽然笔者只有
    在linux特定目录下的修改权限,但笔者可以执行shutdown命令,在笔者重启tomcat服务的过
    程中,在tomcat的bin目录下输入./shutdown.sh时,错误录入为shutdown导致该服务器节点
    关机,因为是云服务,所以笔者是无法自己去开机的,只有邮件反馈这个问题,场面一度时分
    尴尬,所以远程部署是有必要的

    方案:
    通过访问tomcat节点的主页通过页面暂停项目 上传项目 部署项目,避免手动去服务器节点操作

    4.中间件外部署

    问题:
    在一个服务器节点上部署多个tomcat节点时,如果在每个tomcat节点下都拷贝一份war包,一旦
    tomcat节点稍多 或者其他人为因素可能导致 各个tomcat节点部署了不同版本的应用

    方案1:
    针对各个节点:
    修改servlet.xml文件,在conf目录下找到servlet.xml文件,在host元素中,添加context元素
    <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
    <Context path="应用访问路径" docBase="部署web应用源码根目录" reloadable="false"/>
    方案2:
    针对各个节点:
    新建conf/catalina/localhost目录,并在该目录下,新建xml文件,在新建文件中编写context元素
    <Context path="应用访问路径" docBase="部署web应用源码根目录" workDir="应用运行时生
    成文件存放路径" reloadable="false"/>

    5.内存调优

    问题:
    tomcat默认情况下初始内存较小,容易内存溢出
    其默认初始内存(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4

    方案:
    在tomcat的bin目录下的启动脚本catalina.sh中,开头的地方增加一句修改内存使用:
    set JAVA_OPTS='-Xms512m -Xmx1024m'
    解释:
    -Xms:初始值
    -Xmx:最大值
    -Xmn:最小值

    相关文章

      网友评论

          本文标题:《开源中间件Tomcat高级应用浅析》笔记

          本文链接:https://www.haomeiwen.com/subject/ijkobctx.html