对于开发而言,如果服务器出现异常,需要排查错误。第一想法就是看日志,但是日志的排查十分耗费时间。这里推荐一种排查服务器代码故障的方式。可以如同调试本地代码一样,debug调试远程服务器代码。
这里以阿里云服务器为例,配合docker以及IDEA2020来演示远程debug服务器代码;
实现步骤如下
1、 准备一个springboot的项目,打包成一个war包(jar包也可以,但是略有差异,具体差异找度娘)
2、 在阿里云上启动一个带jdk的docker容器
3、 在docker容器中启动springboot项目war包
4、 配置IDEA启动远程连接
5、 可以开始调试
docker run -it --name mtdebug2 -p 8080:8080 -p 8089:8089 \ -v /javaxl/temp2/conf:/usr/local/tomcat/conf \ -v /javaxl/temp2/logs:/usr/local/tomcat/logs \ -v /javaxl/temp2/webapps:/usr/local/tomcat/webapps \ d1f309d733f4 /bin/bash java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8089 demo.war --server.port=8080
准备一个springboot项目并打包demo.war
启动一个用来部署springboot项目的容器mtdebug2
注意:
1、8080是项目启动对外访问的端口,8089是IDEA联调的远程服务器端口。
2、务必做好宿主机与容器的端口映射,调试的是容器内部的代码。
将demo.war放入宿主机/javaxl/temp2/webapps目录下,那么在容器中的/usr/local/tomcat/webapps也就有了demo.war;
然后进入/usr/local/tomcat/webapps中,通过java –jar启动springboot项目
配置IDEA远程debug的IP+Port
启动远程服务器代码连接
开始远程调试
over......
备案号:湘ICP备19000029号
Copyright © 2018-2019 javaxl晓码阁 版权所有