前言
应用场景
在本地 IDEA 下开发 JavaWeb 项目并部署到远程服务器上的 Tomcat,传统方式是在本地运行项目生成 war 文件.但其实我们可以通过 IDEA 以及相关配置,来实现在 IDEA 运行项目的同时自动将项目上传部署到服务器上的 Tomcat。
实验环境、工具
腾讯云服务器 CentOS 7.2 64 位
Xshell:用于在本地连接腾讯云服务器,远程操作服务器的终端
IDEA 2017.2 旗舰版 (Ultimate)
本地 Windows10 OS
必须的环境配置
远程服务器上面必须先安装JDK跟Tomcat,确保能正常访问到 Tomcat 默认的主页
服务器端配置
相关配置
参考IDEA 官网的相关配置,来启动 jmx。
cd /usr/local/webDevelopmentTools/tomcat/apache-tomcat-9.0.7/bin (Tomcat 安装目录下的 bin 文件夹)
vim catalina.sh
在catalina.sh文件最前面添加以下配置
1
2
3
4
5
6
7
8
9
10
export CATALINA_OPTS="-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=10999 (替换成你的服务器可用的端口)
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=119.29.251.126" (替换成你的服务器IP)
export JAVA_OPTS="-Dcom.sun.management.jmxremote=
-Dcom.sun.management.jmxremote.port=10999
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"
注意:在配置端口之前需要检测一下配置的端口是否可用。
1
2
netstat -anp | grep 1099(需要检测的端口号)
该命令用于检测端口是否可用,若是没有任何显示信息则说明可用
配置后 Tomcat 的启动方式
配置前
在这之前基本都是通过 systemctl start xxxx.service 的方式来启动 Tomcat,其实本质就是执行 Tomcat 安装目录下 bin 文件夹中的startup.sh脚本去启动的。
配置后
现在我们则需要通过catalina.sh脚本来启动 Tomcat,该脚本同样是在 Tomcat 安装目录下的 bin 目录。1
2
cd /usr/local/webDevelopmentTools/tomcat/apache-tomcat-9.0.7/bin
catalina.sh run > /dev/null 2>&1 &
其中 “ > /dev/null 2>&1 &” 是 Linux 中的命令:把标准输出和出错处理都放到回收站,这样就免得一大堆输出占领你的屏幕。
启动之后,使用命令jps,若出现下面类似信息则说明配置成功或者通过浏览器去访问 Tomcat 的默认主页来检测。
本地配置
IDEA 创建 JavaWeb 项目
使用 IDEA 创建一个 JavaWeb 项目来进行测试,如何在 IDEA 创建一个 JavaWeb 项目参考
IDEA 的 Tomcat 配置
进行 IDEA 的 Tomcat 配置,选择Edit Configurations
新建一个 Tomcat 配置,跟以往的配置不同的是这次选择的 Tomcat Server 是Remote,即远程的服务器上 Tomcat
运行配置名称、运行 Tomcat 版本、访问 URL 的配置、远程服务器上 Tomcat 连接配置
注意:在选择 Tomcat 版本时,所选择的只能看到本地的 Tomcat,因此为了保证运行 Tomcat 的版本配置的正确,所以最好保证本地的 Tomcat 与远程服务器上的 Tomcat 版本一致,即本地安装的 Tomcat 与服务器上安装的 Tomcat 版本一致
远程服务器上 Tomcat 的配置
配置连接类型以及创建一个新的服务器连接配置
创建一个新的服务器连接配置则会出现以下窗口
配置服务器连接信息
选择上一步配置的服务器连接信息
配置 Deployment
配置 jmx 端口,即与前面服务器配置的Dcom.sun.management.jmxremote.port一致
部署测试
保存以上配置之后运行前面配置的远程 Tomcat 配置
参考链接