在idea中部署远程Tomcat
实现效果:
在idea中点击run时,自动将代码编译并上传、部署到远程服务器中
和传统的在本地服务器相比较的优势:
1、节省开发者开发机的资源,省去了本地服务器的CPU、内存的占用。
2、如果开发的程序为Android+J2EE或者IOS+J2EE等需要将服务器IP写入客户端,不需要客户端连接到同一局域网。
说明下我使用的版本信息:
idea 2016.1
Tomcat
本地用的8.0.29 安装在D:/apache-tomcat-8.0.29
远程服务器用的8.0.32 安装在/usr/local/apache-tomcat-8.0.32
本地OS Win10 x64 Pro
远程OS Centos 7 x64 使用ssh管理
远程服务器上操作:
0、准备工作
进去tomcat安装目录
cd /usr/local/apache-tomcat-8.0.32
1、修改环境变量,添加Tomcat启动参数
添加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=1.2.3.4"
export CATALINA_OPTS
2、清空webapps目录
rm -rf ./webapps/*
3、清空work/Catalina/localhost/目录
rm -rf ./work/Catalina/localhost/*
4、启动Tomcat
./bin/catalina.sh run &
开发机操作:
1、创建J2EE项目,我这里使用了maven创建了一个Hello World,如图
2、添加运行配置
3、运行项目
4、运行效果
注:1.2.3.4为我这里使用的远程服务器IP,实际使用时需要修改为自己的真实远程服务器IP
参考资料:
https://www.jetbrains.com/help/idea/2016.1/run-debug-configuration-tomcat-server.html
建议使用local模式,啥都不需要改。
而且吧,local模式支持 update classes and resources 模式,也就是说,改动文件以后,自动生效。(当然,仅限于改)
博主,那个为idea在本地用Tomcat加载项目,为什么浏览器刷新好慢呢,既然是本地,应该刷新页面,或者打开、挑战页面很快才是.....
@天地悠悠
我这本地打开是挺快的
@ilanyu
不能呢
PM Error running 'yctomcat': Unable to connect to the ip:1099
ilanyu你好,这篇文章解决了我的问题, 我想转载这篇文章到我的博客做为笔记可以吗?
@EINDEX
好的
请问为什么会显示无法连接了M Error running Unnamed: Unable to connect to the ip:1099
这个问题应该如何去解决了。
@qs@qs@qs我也是这样
能不能将第一步添加环境变量那里写的再详细一点,我点击debug的时候也出现了ubable to connect to ip:1099,貌似linux上的tomcat的jmx的1099端口没打开
@泽少
修改这个java.rmi.server.hostname=1.2.3.4最后的1.2.3.4为服务器IP,然后运行
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 CATALINA_OPTS
不是挺详细了么
@ilanyu
我的也报错:
Error running remote-api
Unable to connect to the 192.168.99.248:1099, reason:
java.rmi.ConnectException: Connection refused to host: 192.168.99.248; nested exception is:
java.net.ConnectException: Connection timed out: connect
但是tomcat启动日志显示
-Dcom.sun.management.jmxremote
01-Dec-2016 14:38:14.856 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.port=1099
01-Dec-2016 14:38:14.856 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.ssl=false
01-Dec-2016 14:38:14.856 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.authenticate=false
01-Dec-2016 14:38:14.857 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.rmi.server.hostname=192.168.99.248
01-Dec-2016 14:38:14.857 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -agentlib:jdwp=transport=dt_socket,address=49739,suspend=n,server=y
Unable to connect to the ip:1099的,服务器的防火墙关了吗?
@law52526
666,一言惊醒
一群垃圾 不知道 csdn 上抄你的 还是 你抄csdn的,这个年头还是不要依靠什么论坛,因为都是一些喷子在上面乱回答,郑重
Unable to connect to the ip:1099的同学,
记得开放服务器防火墙端口号
@林檀
另外光开放1099不够,还需要开放server.xml中涉及的所有端口