一、环境
客户端:Win10 1903;IDEA Ultimate 2020.1.3;
服务器:Ubuntu20;JDK1.8;Tomcat9.0.43
二、服务器安装Tomcat步骤
1.去官网下载Tomcat
下载地址Apache Downloads,选择gz或zip格式
2.本地解压Tomcat
在ubuntu下解压压缩文件,gz解压指令:
tar -xzvf file.tar.gz
将Tomcat的文件夹移动到自己指定的目录,作为程序路径
3.配置tomcat的运行环境
将“Tomcat根目录/bin/start.sh”与“Tomcat根目录/bin/shutdown.sh”用vim编辑,在最底下添加如下环境的路径,两个sh文件都添加下面相同的代码。其中只有JAVA_HOME、TOMCAT需要用户自己修改成系统下的环境路径。
# Set java environment
export JAVA_HOME=/home/boylen/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:%{JAVA_HOME}/lib:%{JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
# Tomcat Path
export TOMCAT=/home/boylen/Apps/Tomcat_7.0
4.【可选】修改Tomcat的端口
vim编辑“Tomcat根目录/conf/server.xml”,将里面的
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
修改为
<Connector port="自定义端口" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
!:部分端口是没效果的,我电脑上1XXX的端口不起作用,打不开网页,而2XXX如2001则可以正常用。
5.此时配置完毕,启动tomcat测试一下,命令行输入指令来启动tomcat:
Tomcat根目录/bin/start.sh
然后在网页端输入 Ubuntu的IP4地址:自定义的端口号,即可打开网页。如果打不开网页,则是端口不兼容,尝试更换其他端口。更换端口前,先执行shutdown.sh关闭tomcat,换端口后在start.sh启动tomcat测试即可。
如果执行shutdown.sh报错,则先更换回原始端口,重启Linux,再重新配置端口,然后启动tomcat。
三、IDEA中配置远程Tomcat
1.配置Tomcat远程服务
用vim修改tomcat/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=192.168.3.22"
export CATALINA_OPTS
填写后的样式如图:
注意很多网上的教程都是隔行的形式,如下图,这样是错的!比如是隔空格,不能隔行!否则在IDEA运行tomcat时后面会报错无法连接。
错误演示:
修改后保存(里面的jmxremote.port=1099是可以修改的,后面IDEA中会有说明)。先执行shutdown.sh来结束原本运行的tomcat:
/home/boylen/Apps/Tomcat_9.0/bin/shutdown.sh
然后执行catalina.sh指令:
/home/boylen/Apps/Tomcat_9.0/bin/catalina.sh run > /dev/null 2>&1 &
(一定要注意要加上“run > /dev/null 2>&1 &”部分!)
此时会给一个进程PID,说明已经运行成功,此时监听一下端口1099,看看1099端口是否有进程在用。监测指令:
sudo netstat -anp|grep 1099
如果有下图的回应,则表明正常运行。建议两三秒之后再监听一下1099端口,看看这个进程是否保留。因为如果上述过程中catalina.sh加入的代码是隔行而不是隔空格话,会出现第一次监听端口1099会有回应,而两三秒之后再监听就没有回应的现象,那就是因为进程遇到错误闪退了。
此时Tomcat远程的相关参数已配置完毕。
2.新建工程
其中的Application Server中,先点击new按钮,然后:
然后如下图,在红框处选择本地的Tomcat根目录的路径。本地就是Win10,因为IDEA需要在服务器和本地都有一模一样版本的Tomcat才可以,本地的tomcat是用于IDEA的编译环境的,用来解决项目编译依赖。这里可以直接远程将服务器的Tomcat文件夹整个拷贝到Win10本地来
选好路径后,只要选择正确那会自动识别,红框下面的框会自动填充,点击ok即可(如果还是报错,那就检查路径是不是tomcat根目录,极可能选错的)
3.配置configurations
建好项目后,打开Run-Edit Configurations,点击+加好,新建Tomcat Server,选择里面的remote,如下图:
然后配置remote内容,看下图。图中红色部分应该自动选择刚才添加的Tomcat;黄色部分不用管,它会根据下面的配置自动填写;紫色部分默认为1099,如果没出现紫色部分也没事,等后面的信息都填完了它会出来的;蓝色部分点击host后面的...按钮
选择SFTP(如果服务器没有ssh,先配置好ssh),ssh configuration略;root path默认即可;Web server URL填写“服务器IP:8080”,8080是Tomcat默认的网络端口,也可以更改(上面配置Tomcat教程有更改的教程)。
Root path不要设置成服务器中Tomcat的目录,这样会让Deployment-Mappings-Deployment path找不到路径而导致报错:Artifact生成失败
此时再点击上面的“Mappings”选项卡,添加映射路径:
黄色部分是Win10端(即本地)的Tomcat项目的路径,紫色是服务器端的Tomcat部署路径,都需要填写,自己定一个文件夹路径即可。
回到Edit configuration页面,将紫色部分填写好,HOST就是服务器端的IP,PORT就是Tomcat的Web端口,也可以更改(上面配置Tomcat教程有更改的教程)。
接下来打开Deployment,如下图 操作即可,操作完毕后,点击ok,此时configuration配置完成。
4.验证是否成功
点击运行按钮,
等待一段时间会弹出网页,弹出的是一段字符,网页内容和 工程目录\web\index.jsp是一样的,此时说明IDEA配置远程Tomcat成功!
四、参考网址
在 Idea 中配置远程 tomcat 并部署_supermouse_的博客-优快云博客_idea remote tomcat