【爆炒洋葱圈】Intellij IDEA 的基于Ubuntu的Tomcat8的远程部署和调试配置方法

  • 写在前面

经过三次的尝试 我终于成功地将IDEA远程部署和调试的渠道给打通了 于是写下这篇博客 供后来人以及自己后面参考

如有纰漏 望耐心指教

本篇文章参考了大量网络文献 加上自己的一点点探索而得 故先放上参考文献以示感谢

https://www.cnblogs.com/jpfss/p/9036066.html

https://blog.csdn.net/fouy_yun/article/details/81077109

 

  • 操作环境

本地操作系统:Windows 10 1803 家庭版

远端操作系统:Ubuntu 16.04

开发环境:

  1. Tomcat8     
  2. Intellij IDEA 2.4

其他工具:

  1. SSH工具:FinalShell 2.9.5.2

 

  • 远程部署

首先要做的是关闭服务器端的tomcat8服务

service tomcat8 stop

其次

转到tomcat8安装目录 在我这个操作系统上是/var/lib/tomcat8

清空webapps和work/Catalina/localhost下的所有文件

rm -rf ./webapps/*
rm -rf ./work/Catalina/localhost/*

这步执行不知道是不是必要的

但是我前两次的尝试都没有进行清空 导致在后面在catalina.sh内加上了启动参数之后tomcat8的服务没有办法挂起来

 

第三

使用locate catalina.sh搜索catalina.sh所在位置 在我的操作系统上是在/usr/share/tomcat8/bin/内

打开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=<youre host>"

export CATALINA_OPTS

开启JVM端口 其中<your host>字符串改为服务器的IP地址

 

到此处为止 IDEA的远端部署的服务器端配置完成 

输入service tomcat8 start打开tomcat8服务

 

下面开始本地IDEA的配置

选中一个将要部署到服务器上的项目 新建连接 选择tomcat-remote

【爆炒洋葱圈】Intellij IDEA 的基于Ubuntu的Tomcat8的远程部署和调试配置方法

 

对下列框起来的项目进行配置 我会对每项进行详细的讲解

【爆炒洋葱圈】Intellij IDEA 的基于Ubuntu的Tomcat8的远程部署和调试配置方法

open browser-URL:是在Artifact部署完成之后打开浏览器后跳转的页面 此处输入你的服务器IP+端口号+项目部署目录即可(非必须)

Tomcat Server Settings-Remote staging:这里是远端tomcat8部署的设置 包括服务器的登录和项目映射目录 是整个设置中的关键设置

Tomcat Server Settings-Remote staging-Type:项目部署方式 选择sftp 安全ftp传输

 

Tomcat Server Settings-Remote staging-Host:一开始是没有选项的 点击后面的...进行新建配置

【爆炒洋葱圈】Intellij IDEA 的基于Ubuntu的Tomcat8的远程部署和调试配置方法

先点击左上角的+号 添加新的配置 名字随意 类型选择sftp

SFTP host:填写服务器IP

Root path:项目文件的部署目录 如果没有更改tomcat的配置的文件的话映射到webapps即可 在我对电脑上选择Autodetect只会映射到根目录 所以需要手工选择

User name和Password:服务器的登录密码 由于要进行sftp传输 所以需要登录服务器

填写完成之后 选择Test SFTP Connection进行测试 若显示Connect successful 则配置成功

选择OK保存 在上级配置处的Host选择刚刚配置好的文件即可

 

Tomcat Server Settings-staging:直译是工作台 此处可以理解为项目工作文件的所在位置 此处的两个配置我并不是很清楚 在这里只是附上自己的理解 如果有知道的大佬麻烦告知

Tomcat Server Settings-staging-Path of root:发布到远端服务器的根目录位置 他的上级目录是SFTP内设置的Root path(?)

Tomcat Server Settings-staging-Mapped as:项目的文件名(?)

 

Remote Connection Settings-Host:填入服务器IP

Remote Connection Settings-Port:填入服务器的tomcat访问端口

 

第二 转至设置的Deplotment 此处设置和本地设置内容基本相同

【爆炒洋葱圈】Intellij IDEA 的基于Ubuntu的Tomcat8的远程部署和调试配置方法

此处存在一个小问题 就是选择Artifact的时候 类型尽量选择Web Application: Exploded 否则的话在后面部署的时候 尽管项目可以正确部署 但是本地控制台可能会出现Artifact deploy with error的错误

 

至此IDEA的配置完成

退出至主界面 点击服务器的运行按钮

【爆炒洋葱圈】Intellij IDEA 的基于Ubuntu的Tomcat8的远程部署和调试配置方法

成功的话会有如下界面

【爆炒洋葱圈】Intellij IDEA 的基于Ubuntu的Tomcat8的远程部署和调试配置方法

【爆炒洋葱圈】Intellij IDEA 的基于Ubuntu的Tomcat8的远程部署和调试配置方法

 

至此 服务器的远端部署算是配置完成了

 

  • 远端调试

由于系统环境的不同 在服务器运行时可能会出现在本地运行时发现不了的问题 故在这里打开远端的调试端口

其实IDEA已经帮我们把开启调试端口的代码生成好了 只需要把代码复制到catalina.sh内即可

【爆炒洋葱圈】Intellij IDEA 的基于Ubuntu的Tomcat8的远程部署和调试配置方法

此处下面的port可以更改为一个标准端口 这样以后部署其他的项目上同一个服务器的话就不用多次设置服务器的监听端口了

将IDEA生成的代码加入到catalina.sh的之前部署项目时写入的CATALINA_OPTS内即可

 

【爆炒洋葱圈】Intellij IDEA 的基于Ubuntu的Tomcat8的远程部署和调试配置方法

同时 将项目设置的远端链接端口改成8086

【爆炒洋葱圈】Intellij IDEA 的基于Ubuntu的Tomcat8的远程部署和调试配置方法

自此远端调试的配置也就完成啦~

点击debug按钮 会有如下提示

【爆炒洋葱圈】Intellij IDEA 的基于Ubuntu的Tomcat8的远程部署和调试配置方法

 

至此本教程就结束啦~

如果有新的东西 我会及时补充的

 

 

 

-------------------------------------------------------------------

2018年10月1日 00:15:57

陈思聪