前言
发布项目其实是导出成war包直接传到webapps,idea提供了一个更为便捷的方法,可以直接将tomcat配置到远程服务器,在intellij上“稍加”配置就可以直接发布到远程的tomcat服务器了。
环境
本地环境:
- OS:Windows 11
- tomcat10.1.40
- java 17.0.9
- Idea 2023.2.4
服务器环境:
- OS:CentOS7.6
- tomcat 9.0.26
- java 1.8.0_231
Idea 的帮助文档中有这样一句话:
When working with a remote server, the same server version must be available locally.
使用远程服务器时,必须在本地提供相同的服务器版本。
修改服务器 tomcat 的启动脚本catalina.sh
通常我们启动 tomcat 时,本质上都是运行的 statup.sh,但是现在需要远程部署,启动脚本要换成 catalina.sh。
打开服务器 tomcat 安装目录下的 bin 目录,里面有一个脚本文件 catalina.sh,打开这个脚本文件后,在开头的地方加入下面这段代码:
export CATALINA_OPTS="-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=1099 \
-Dcom.sun.management.jmxremote.rmi.port=1099 \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false \
-Djava.rmi.server.hostname=服务器ip地址"
修改完成后来到 catalina.sh 所在的目录,使用下面这个命令运行该脚本: ./catalina.sh run
#可以用 jps 命令查看
[root@VM-8-14-centos bin]# jps
26498 Bootstrap
26678 Jps
#查看1099端口
[root@VM-8-14-centos bin]# netstat -tlano | grep 1099
tcp6 0 0 :::1099 :::* LISTEN off (0.00/0/0)
tomcat 运行起来之后,我们在本地浏览器中输入 http://<IPAddress>:8080 进行访问,可以看到熟悉的 tomcat 主页
扩展: ./catalina.sh run 启动的话会导致当前终端被阻塞,并且关闭终端后无法继续后台运行,因此命令改为:
./catalina.sh run > /dev/null 2>&1 & 或者 ./catalina.sh start
本地 IDEA 配置
点击编辑配置,添加一个Tomcat远程

配置相关的信息

点击上图中 Host 右边的 … ,会出现 部署 对话框:

点击上图中 SSH配置 右边的 … ,会出现 部署 对话框:

点击部署页面中的映射

点击配置页面中的部署

运行项目
若看到控制台输出以下内容,则说明配置远程 tomcat 成功!

本地代码如下

在浏览器中访问服务器的 tomcat,就可以打开本地编写的项目了。

0 条评论