IDEA 在远程 Tomcat 上运行项目(亲身避坑版)

1 试验环境

服务器:CentOS 7 + Tomcat 8.5.83 + JDK 1.8.0_321
开发环境:IDEA 2022.1.4 + Tomcat 8.5.83 + JDK 11.0.13
注意:在配置远程运行项目之前,必须确保服务器上 Tomcat 能正常运行,开发环境项目能够正常在本地 Tomcat 调试运行。

2 配置

2.1 服务器 Tomcat 开启 JMX

vim /usr/local/apache-tomcat-8.5.83/bin/setenv.sh

注意:笔者服务器上 Tomcat 的安装路径是 /usr/local/apache-tomcat-8.5.83,请根据实际情况修改!

增加以下内容:

CATALINA_OPTS="$CATALINA_OPTS -Djava.rmi.server.hostname=192.168.1.188"
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote= -Dcom.sun.management.jmxremote.port=1099"
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.rmi.port=1099"
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.ssl=false"
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"

注意:不能写成一行!!!有很多帖子中上面的命令写成了一行,笔者在配置过程直接出现 Tomcat 不能正常启动,日志中出现 -dcom.sun.management.jmxremote:command not found 错误

保存修改后,重新启动 Tomcat

2.2 开放setenv.sh配置的端口号

在上一步中,配置文件的端口是1099,需要在防火墙中开放该端口
开放端口:firewall-cmd --zone=public --add-port=9200/tcp --permanent
重载防火墙:firewall-cmd --reload

2.3 IDEA 配置

2.3.1 新增 Tomcat Remote

按照 Edit Configrations -> “+” -> Tomcat Server -> Remote 的步骤,进入 Tomcat 配置界面

IDEA 在远程 Tomcat 上运行项目(亲身避坑版)_第1张图片
IDEA 在远程 Tomcat 上运行项目(亲身避坑版)_第2张图片

2.3.2 Tomcat Server 设置

如下图所示,在 Tomcat Server Settings 中,首先选择 Type 为 sftp,然后点击 Host 右边的 “…”

IDEA 在远程 Tomcat 上运行项目(亲身避坑版)_第3张图片

点击左上角的 “+”,选择 SFTP

IDEA 在远程 Tomcat 上运行项目(亲身避坑版)_第4张图片
在弹出的输入框中输入 server name

IDEA 在远程 Tomcat 上运行项目(亲身避坑版)_第5张图片

点击 SSH configuration 右侧的 “…”,配置 SSH

IDEA 在远程 Tomcat 上运行项目(亲身避坑版)_第6张图片

结合实际情况按照下图配置 SSH,Username、Password 为可以登录服务器的管理员名和密码,配置完成后,点击“Test Connection”按钮,弹出连接成功即配置无误。

IDEA 在远程 Tomcat 上运行项目(亲身避坑版)_第7张图片
关闭对话框,点击“OK”按钮回到 Deployment 窗口,在 SSH configuration 下拉框中选择上一步创建的 SSH 配置。同时在 Web server URL 中输入服务器中 Tomcat 的访问 URL,可以通过右侧的按钮验证 URL 是否正确。

IDEA 在远程 Tomcat 上运行项目(亲身避坑版)_第8张图片

点击 Root path 右侧的文件浏览按钮,如果 SSH 配置正确,文件浏览对话框将会加载出服务器的文件路径,选择 Tomcat 的 webapps 路径。

IDEA 在远程 Tomcat 上运行项目(亲身避坑版)_第9张图片

切换到 Mapping 选项卡,按下图填入 Deployment path 和 Web path

IDEA 在远程 Tomcat 上运行项目(亲身避坑版)_第10张图片
如下图所示,在 Tomcat Server Settings -> Host 中选择前面创建的连接,并填写 Path From root 和 Mapped as,指向的位置都是服务器上 Tomcat 的 webapps 路径。JMX port 填写 2.1 参数中设置的端口
同时,在 Remote Connection Settings 中填写服务器 Tomcat 的访问主机和端口。

IDEA 在远程 Tomcat 上运行项目(亲身避坑版)_第11张图片

最后,在 Name 栏给配置命名。

2.3.3 Deployment 配置

切换到 Deployment 选项卡,如图选择

IDEA 在远程 Tomcat 上运行项目(亲身避坑版)_第12张图片

选择 war

IDEA 在远程 Tomcat 上运行项目(亲身避坑版)_第13张图片

修改访问路径(访问路径变成了 192.168.1.188:8080/tomcat_demo)

IDEA 在远程 Tomcat 上运行项目(亲身避坑版)_第14张图片

2.3.4 Application Server 设置

点击 Configure 按钮,选择本地 Tomcat 路径

IDEA 在远程 Tomcat 上运行项目(亲身避坑版)_第15张图片

On ‘Update’ action 选择 Redeploy

IDEA 在远程 Tomcat 上运行项目(亲身避坑版)_第16张图片

3 运行

点击 Run 按钮,等待片刻将出现如下提示,表示运行成功

IDEA 在远程 Tomcat 上运行项目(亲身避坑版)_第17张图片

从图中可以看到,TestController.hello() 的访问路径为 /test/hello,之前配置项目的访问路径是 http://192.168.1.188:8080/tomcat_demo,故完整的 URL 是:http://192.168.1.188:8080/tomcat_demo/test/hello

IDEA 在远程 Tomcat 上运行项目(亲身避坑版)_第18张图片

你可能感兴趣的:(JavaWeb,tomcat,intellij-idea,java)