环境:java
- CentOS 7
- Tomcat 9.0.1
- jdk-9.0.1
- IntelliJ IDEA 2017.3
Tomcat中的配置
- 在
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=192.168.19.200 -agentlib:jdwp=transport=dt_socket,address=15833,suspend=n,server=y" export CATALINA_OPTS
- 以上端口能够随意改动,可是必要的是后续的设置必须保持一致,而且务必保证端口没有被占用,这些设置的端口在防火墙中是开放状态;
- 其中1099的是tomcat远程部署链接端口;
- 15833 是远程调试的端口;
- 192.168.19.200是远程的服务器的Ip。
- 启动tomcat
使用命令启动
./bin/catalina.sh run &
IDEA中的配置
新建远程tomcat
配置远程服务
配置链接tomcat的一些属性
debug启动测试
链接:tomcat
[2017-12-23 08:47:03,592] Artifact devframe-server:war exploded: Artifact is not deployed. Press 'Deploy' to start deployment [2017-12-23 08:47:03,650] Artifact devframe-server:war exploded: Artifact is being deployed, please wait... Connected to server Connected to the target VM, address: '192.168.19.200:15833', transport: 'socket' [2017-12-23 08:47:11,434] Artifact devframe-server:war exploded: Error during artifact deployment. See server log for details.
文件传输:bash
[2017/12/23 20:47] Uploading to 192.168.19.200 completed in less than a minute: 357 files transferred (8 Mbit/s)
这样就可以成功远程部署而且调试了。服务器
使用的技巧:
这样每次修改完,点一下就能够热部署,是否是很方便。
less
容易出现的问题
- 若是远程没有链接上,两个端口被占用或者防火墙屏蔽。除了JMX server指定的监听端口号外,JMXserver还会监听一到两个随机端口号,这个若是防火墙关闭了的话就不用考虑,若是使用了防火墙,还须要查看它监听的端口。
- 帐号的相应的读写权限必定要有;