在tomcat中远程调试和部署应用

前言

当前在windows或者mac下开发,但是服务部署在linux上的时候比较多,笔者也是这种情况,这样一来项目的部署就显得比较麻烦了,一两个服务还好,手动替换class文件或者将war包扔上服务器再启动,如果服务比较多的话就显得比较麻烦了.对此可以用idea集成的远程tomcat服务进行启动,十分方便快捷.另外也可以用jenkins搭建一个服务进行远程部署,本文主要讲前者.

远程部署tomcat

关于在服务器上安装jdk和tomcat等东西不在本教程范围内,请自行搜索相关教程.
1.tomcat相关设置
在tomcat/conf/catalina.sh中的开头增加如下内容:

CATALINA_OPTS="-Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.port=1099 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false 
-Djava.rmi.server.hostname=你的主机ip"


export JAVA_OPTS="-Dcom.sun.management.jmxremote=
-Dcom.sun.management.jmxremote.port=1099(如果多台就改一下不要重复了)
-Dcom.sun.management.jmxremote.rmi.port=1099(如果多台就改一下不要重复了)
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"

然后保存退出.
2.idea上相关设置.

图1
注意选择远程的方式,
图中mapped as的地址应该是填到你要部署的tomcat/webapps下,之后点击deployment,注意选择war explored那个选项,可以节约压缩再解压缩的时间.实现热部署
然后jmx port按之前设定的填1099,

传包方式就选sftp,点击host旁边的菜单进去,设置如下
这里写图片描述
注意rootpath写大一点,

照这样设置就可以了.之后需要先去到服务器上把tomcat手动启动起来,然后这边选择运行就可以愉快的把服务部署上去并且测试你的改动啦!!!

远程调试Tomcat

1.idea相关设置.
这里写图片描述
这里host就填你的服务器ip,端口号自己定义,不要与之前的jmx等重复了,也不要与tomcat本身的端口冲突,填好之后复制下面那一串jvm配置,后面游泳

2.tomcat 相关设置.
同样是修改tomcat/bin/catalina.sh文件,如图
这里写图片描述
将上面idea自动生成的那串配置拷贝过去即可,注意要加引号.
之后用startup.sh启动就可以了

顺便说一点,这样设置之后用原先的shutdown.sh就不能停掉tomcat服务了,原因也很简单,加了监听和调试端口嘛,可以采用kill的方式强制停止,方法如下,编辑catalina.sh文件 加入如下配置,其实就是启动时记录下PID端口号
插入的位置是PRGDIR=…的下面,全局搜索下就出来了

if [ -z "$CATALINA_PID" ]; then
    CATALINA_PID=$PRGDIR/CATALINA_PID
    cat $CATALINA_PID
fi

之后在编辑下shutdown.sh脚本,在末尾那句的stop后面加上-force,即强制调用kill -9命令利用之前记录下的端口号杀死进程!
这里写图片描述

猜你喜欢

转载自blog.csdn.net/sinat_21372989/article/details/82227010