TOMCAT 发布 热部署 session共享 redis实现

JAVA-web程序Tomcat 容器的发布和常规操作

1 、war包发布

1.1 将已经打好的war包,直接放置到%TOMCAT_HOME%/webapps/

1.2 修改%TOMCAT_HOME%/conf/server.xml,在host节点中添加 节点
docBase:项目路径,可以使用绝对路径或相对路径,相对路径是相对于webapps 
path:访问项目的路径,如:http://127.0.0.1:8080/demo1 
reloadable:是否自动加载新增或改变的class文件. 
debug属性与这个Engine关联的Logger记录的调试信息的详细程度。数字越大,输出越详细。如果没有指定,缺省为0。 也就是程序异常时写入日志文件里的详细程度。

 <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
     
     <Context debug="0" docBase="D:\demo1\web" path="/demo1" privileged="true" reloadable="true"/>

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>


1.3 修改%TOMCAT_HOME%\conf\Catalina\localhost中添加一个XML文件

xml的名称即为项目名称,或者为工程名称
如:demo1.xml,SO访问地址为:http://localhost:8080/demo1



<?xml version="1.0" encoding="UTF-8"?> 
<Context docBase="D:\demo1\web" reloadable="true" /> 

2 、jar包发布

2.1 正常情况下。
#java -jar xxxx.jar
 
2.2 如果提示项目

在项目运行中,如果出现没有主清单属性

img

处理方式一:手动添加

打开生成的jar,里面有一个MANIFEST.MF的文件把它打开:

img

发型并没有 Main-Class执行主类这个配置;

一种解决办法就是手动添加Main-Class 文件

img

处理方式二:找程序从新打包,并告知启动缺少启动类配置

3 端口配置

在%TOMCAT_HOME%/conf/server.xml中修改port端口


   <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

4 共享session

4.1 结构图:

表示多个tomcat 中共同使用redids 来存储session,来实现session 共享的实现

img

4.2 tomcat 配置信息
请求监听端口Shutdown监听端口AJP监听端口
tomcat_1808080058009
tomcat_2809080158019
4.3 修改配置

tomcat_1端口按照默认配置(不改server.xml)

tomcat_2端口改为下面的配置(修改server.xml)

  <Connector port="8090" protocol="HTTP/1.1"  
               connectionTimeout="20000"  
               redirectPort="8443" />  

    <Connector port="8019" protocol="AJP/1.3" redirectPort="8443" />  



4.4 配置session 共享

tomcat_1,tomcat_2都要修改contenxt.xml


<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />  
  <Manager className="com.radiadesign.catalina.session.RedisSessionManager"  
         host="localhost"   
         port="6379"   
         database="0"   
         maxInactiveInterval="60" />

4.5 添加jar包

将这几个包都添加到tomcat目录下的lib目录中,这样就完成 了共享session配置

img

4.6 拓展

本实例:说的是redis 来实现session共享

也可以使用其他缓存组件来实现,比如:memcahed

参考地址:https://www.cnblogs.com/kevingrace/p/6398672.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值