Java项目部署与远程调试两三事
【开启和进行远程调试】
参考https://blog.csdn.net/WSYW126/article/details/74853680
1、tomcat:配置catalina.sh jpda参数,主要是address
./catalina.sh jpda start
2、springboot
maven插件 or命令行
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<jvmArguments>-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=xxxx</jvmArguments>
</configuration>
</plugin>
参数解释:
-Xdebug
启用调试特性
-Xrunjdwp
启用JDWP实现,它包含若干子选项:
transport=dt_socket
JPDA front-end和back-end之间的传输方法。dt_socket表示使用套接字传输。
address=XXXX
JVM在默认在8000端口上监听请求,是指服务器上的。 注:这里前面的ip也可以规定。0.0.0.0接受所有。
server=y
y表示启动的JVM是被调试者。如果为n,则表示启动的JVM是调试器。
suspend=y
y表示启动的JVM会暂停等待,直到调试器连接上。
suspend=y这个选项很重要。如果你想从Tomcat启动的一开始就进行调试,那么就必须设置suspend=y。
然后本地remote debug配置ip 端口号即可
【springboot热部署】
参考https://blog.csdn.net/qq_31868349/article/details/78553901
【tomcat部署多个项目的三种方式】
1、同一端口下多个应用
直接丢进去 或 通过管理页面 或 Host节点中加<Context>
详见https://blog.csdn.net/dreamstar613/article/details/75282962/
2、同一服务器下多个端口
server.xml加Service节点 改5个地方
Service name
<Connector port="8090" 这个改成要开放的。当然租用服务器还要在第三方后台开放端口。
<Connector port="8109" protocol="AJP/1.3" redirectPort="8443" /> 这行去掉
Engine name
host appBase="webapps"
3、多个tomcat服务器
(1)编辑环境变量:vi /etc/profile
加入以下代码(tomcat路径要配置自己实际的tomcat安装目录)
##########first tomcat###########
CATALINA_BASE=/usr/local/tomcat
CATALINA_HOME=/usr/local/tomcat
TOMCAT_HOME=/usr/local/tomcat
export CATALINA_BASE CATALINA_HOME TOMCAT_HOME
##########first tomcat############
##########second tomcat##########
CATALINA_2_BASE=/usr/local/tomcat_2
CATALINA_2_HOME=/usr/local/tomcat_2
TOMCAT_2_HOME=/usr/local/tomcat_2
export CATALINA_2_BASE CATALINA_2_HOME TOMCAT_2_HOME
##########second tomcat##########
保存退出。
再输入:source /etc/profile
才能生效
(2)配置bin/catalina.sh
# OS specific support. $var _must_ be set to either true or false.
在下面增加如下代码
export CATALINA_HOME=$CATALINA_2_HOME
export CATALINA_BASE=$CATALINA_2_BASE
(3)改server.xml三个端口
注:linux中 ./ 或sh 都是打开一个新的子shell运行脚本 source才是在当前shell中运行脚本 配置才可生效
【tomcat管理界面】
需改conf/tomcat-users.xml
加入
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="user" password="password" roles="tomcat,manager-gui,manager-script,admin-gui,admin-script"/>
详见https://blog.csdn.net/xiaochuju526/article/details/78937536
注:tomcat8.X以上需在/webapps/magager/META-INF/context.xml开放ip
<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
</Context>
中间注释掉value节点或者替换为allow="^.*$"
Java项目部署与远程调试两三事的更多相关文章
- SpringBoot工程+热部署进行远程调试
本文转载自:https://blog.csdn.net/qq_31868349/article/details/78553901 SpringBoot工程+热部署进行远程调试 本地端添加配置 在pom ...
- JAVA(TOMCAT)远程调试
当我们的项目部署到远程机器(开发环境和部署环境在不同的jvm下)中,而远程机器的数据和本地有可能不一样,这个时候我们可能需要连接到远程机器进行调试.为了解决这一问题,JAVA为我们提供了Java平台调 ...
- java项目部署后的文件路径获取
//eclipse部署工程 String path = request.getServletContext().getRealPath( File.separator+ "WEB-INF&q ...
- 如何将项目部署到远程的Linux机器上的tomcat上
下面来练习一下如何将本地的一个项目部署到远程的Linux机器上去. 第一步:将要部署到Linux机器上的项目打成一个war包 war包有一个好处tomcat可以自动解压 第二步:将打好的war上传到L ...
- java项目部署到LIINUX
天领导给个任务,把java项目部署到liunx服务器上.现记录步骤,方便以后查看.项目部署服务器步骤:服务器信息:弹性IP地址:xx.xx.xxx.xx账号:root密码:cjw@100 数据库信息: ...
- JAVA项目部署(1)
之前小菜觉得项目发布啊部署可难了,今个儿小菜接有幸触了一下java项目的打包和部署,没上手前觉得可高大上了,可难了,小菜这人就是做没做过的事前特别喜欢自己吓唬自己,这个习惯不好,得改!其实自己真正动手 ...
- java项目部署Linux服务器几种启动方式总结经验
一:两种部署包: 部署之前先说下两种包,java项目部署到服务器一般有用war包的,也有用jar包的,微服务spring-cloud普及后大部分打包都是jar,部署之前先搞清楚自己要打war包还是ja ...
- JavaWeb项目的部署以及远程调试
Linux环境下软件的安装 Linux环境下的程序的安装.更新.卸载和查看. rpm 命令:相当于windows程序的添加/卸载程序,进程程序的安装,查看,卸载. 本地程序安装:rpm -ivh 程序 ...
- Windows Server 2012 R2服务器部署Tomcat JDK、安装Mysql以及将Java项目部署到CVM
我们平时所调试的Java Web 项目需要在本地Eclipse或者MyEclipse当中开发调试,并且部署到Tomcat上来测试,比如说笔者这里用的eclipse添加tomcat服务器, 但是这里发布 ...
随机推荐
- 初学FPGA-IP核错误
[BD 5-336] This command cannot be run, as the BD-design is locked. Locked reason(s):* BD design cont ...
- 初学FPGA图像处理,开发板选择建议
我用的是ZYNQ7010的开发板,纯粹是入门学习,对于初学者,使用较多的xlinx入门级的开发板一般是zynq7000系列,淘宝上买的较好的是黑金和米联科,我买的就是黑金的,个人觉得教程很少,学习资料 ...
- rocketmq学习(一) rocketmq介绍与安装
1.消息队列介绍 消息队列本质上来说是一个符合先进先出原则的单向队列:一方发送消息并存入消息队列尾部(生产者投递消息),一方从消息队列的头部取出消息(消费者消费消息).但对于一个成熟可靠的消息队列来说 ...
- Tcloud 云测平台-多服务框架开源
技术栈 Python3.7 + Vue前端github地址:https://github.com/bigbaser/Tcloud后端github地址:https://github.com/bigbas ...
- FourAndSix2 靶机渗透
0x01 简介 FourAndSix2是易受攻击的一个靶机,主要任务是通过入侵进入到目标靶机系统然后提权,并在root目录中并读取flag.tx信息 FourAndSix2.镜像下载地址: https ...
- Matlab 模拟退火算法模型代码
function [best_solution,best_fit,iter] = mySa(solution,a,t0,tf,Markov) % 模拟退化算法 % ===== 输入 ======% % ...
- 2018年蓝桥杯ava b组第一题
第一题.标题:第几天 2000年的1月1日,是那一年的第1天.那么,2000年的5月4日,是那一年的第几天? 注意:需要提交的是一个整数,不要填写任何多余内容 如果问我怎么做的,我就是看日历做的,看了 ...
- IDEA加密算法(含所需jar包(commons-codec-1.11.jar ,bcprov-jdk15on-160.jar))
软件设计上机实验IDEA算法: import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.Se ...
- 记一次Burp Suite的使用实例
下载完的Bur是这样的,双击jar即可 最右边的键一直按,傻瓜式 先将要抓包的网页打开,此次以上传图片为例 第一步当然是先下载Burp Suite之后打开,查看设置代理地 ...
- 【Python笔记】Python变量类型
Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的数据 ...