IDEA部署Tomcat
Powered by:NEFU AB-IN
IDEA远程调控Tomcat
写在前面
由于61711是Java远程debug所开设的窗口,由于开放此端口会导致较为严重的hack,hacker会以root身份通过此端口执行命令,导致系统极其不安全,因此我关闭了此端口。
目前我还没找到关闭此端口,还能让idea顺利连接到云服务器项目的方法,因此以下操作仅供参考
比较正规的方法,是安装宝塔的tomcat服务,并上传包至webapps下面,平常debug,用本地的tomcat调试即可
-
准备
- 云服务器
- I D E A IDEA IDEA
- 本地 T o m c a t Tomcat Tomcat
- 云服务器 T o m c a t Tomcat Tomcat
-
云服务器
-
IDEA
首先要有一个 w e b web web项目
w e b web web项目在 p o m pom pom中设置 w a r war war包
p o m . x m l pom.xml pom.xml源码<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>web-examples</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> <properties> <maven.compiler.source>16</maven.compiler.source> <maven.compiler.target>16</maven.compiler.target> </properties> <dependencies> <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.taglibs/taglibs-standard-spec --> <dependency> <groupId>org.apache.taglibs</groupId> <artifactId>taglibs-standard-spec</artifactId> <version>1.2.5</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.taglibs/taglibs-standard-impl --> <dependency> <groupId>org.apache.taglibs</groupId> <artifactId>taglibs-standard-impl</artifactId> <version>1.2.5</version> </dependency> <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.21</version> </dependency> <!-- https://mvnrepository.com/artifact/javax.annotation/javax.annotation-api --> <dependency> <groupId>javax.annotation</groupId> <artifactId>javax.annotation-api</artifactId> <version>1.3.2</version> <scope>provided</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.3.1</version> </plugin> </plugins> </build> </project>
-
本地Tomcat
-
云服务器Tomcat
一样在官网下载,下载完用 w i n s c p winscp winscp或者 b t p a n e l btpanel btpanel传到 / o p t /opt /opt下即可
cd /opt tar -zxvf apache-tomcat-10.0.10.tar.gz cd /etc/profile.d/ vim tomcat.sh export CATALINA_BASE=/opt/apache-tomcat-10.0.10 export CATALINA_HOME=$CATALINA_BASE export TOMCAT_HOME=$CATALINA_BASE source /etc/profile
之后就是对bin/catalina.sh和conf/server.xml的配置
下面设计四个端口
-
conf/server.xml中修改 S H U T D O W N SHUTDOWN SHUTDOWN端口,我更改为 8006 8006 8006
-
conf/server.xml中修改 S T A R T U P STARTUP STARTUP端口,也就是访问的端口,我更改为 8007 8007 8007
-
bin/catalina.sh中设置 J M X JMX JMX端口,默认就是 1099 1099 1099
-
bin/catalina.sh中设置 D E B U G DEBUG DEBUG端口,我设置为 61711 61711 61711,在脚本中找
JPDA_ADDRESS=”8000”
,将其修改为 61711 61711 61711即可这两个配置,需要在脚本中加入这段话
JAVA_OPTS="${JAVA_OPTS}-Djava.security.egd=file:/dev/./urandom" export CATALINA_BASE=$CATALINA_BASE CATALINA_OPTS="${CATALINA_OPTS} -Djava.rmi.server.hostname=主机IP" CATALINA_OPTS="${CATALINA_OPTS} -Djavax.management.builder.initial=" #不写 CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote=true" CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.port=1099" CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.ssl=false" CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.authenticate=false" CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.rmi.port=1099" CATALINA_OPTS="${CATALINA_OPTS} -server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=61711" export CATALINA_OPTS export JAVA_OPTS
一定要在控制台放行四个端口!
接下来试试启动是否成功
由于我已经配置新网站了,所以出来的不是欢迎页
查看端口
netstat -nlpt
端口全部启动
-
-
IDEA 编辑配置
注意是 T o m c a t s e r v e r Tomcat \ server Tomcat server 不是 E E EE EE,在这记录一下配置
热交换器可以做到实时更新
应用程序服务器配置,也就是本机的 T o m c a t Tomcat Tomcat,而不是服务器的服务器部署
退回来,部署的包
这里的输出目录最后面我写的 w e b − e x a m p l e s web-examples web−examples代表你项目传在 w e b a p p webapp webapp里的文件夹名
设置编译
接下来启动即可,下面就算成功了(如果弹出的不是你的网站,可以考虑把 R O O T ROOT ROOT文件夹先删了)
更新代码时 D E B U G DEBUG DEBUG即可,或者构建项目,可能需要等一会
期间遇到了不少问题,比如无法连接
1099
1099
1099,是因为没有在
c
a
t
a
l
i
n
a
.
s
h
catalina.sh
catalina.sh中配置;或者
1099
1099
1099超时,是没加Dcom.sun.management.jmxremote.rmi.port=1099"
;
D
E
B
U
G
DEBUG
DEBUG不行,是因为没有修改默认端口
网上的教程一定要综合的去看,实在不行去看官方文档是如何配置
相关文章
- tomcat开发远程调试端口以及利用eclipse进行远程调试
- tomcat提示警告: An attempt was made to authenticate the locked user"tomcat"
- IntelliJ IDEA配置Tomcat 与安装Tomcat失败原因
- tomcat9.x 集群升级至 tomcat 10.x 发现的问题....
- Nginx+Tomcat+Terracotta的Web服务器集群实做
- 贯通tomcat --- 电子书
- IntelliJ IDEA使用(二):tomcat和jetty配置
- idea中 tomcat的乱码的解决(反人类的配置)
- IDEA Tomcat部署时war和war exploded区别以及平时踩得坑
- IDEA tomcat热部署方法及乱码问题解决
- Idea中配置Tomcat
- 修改Tomcat默认端口号,避免与IDEA冲突
- IntelliJ IDEA配置Tomcat/Jetty运行Web项目
- IntelliJ IDEA启动spring boot项目出现Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]]
- Intellij IDEA 远程debug、远程tomcat部署项目
- IntelliJ IDEA最新版配置Tomcat(完整版教程)
- IDEA 创建Web项目并在Tomcat中部署运行
- IntelliJ IDEA 2017 配置Tomcat 运行Web项目
- Intellij IDEA如何使用Maven Tomcat Plugin运行web项目
- 解决 idea 中的 tomcat控制台 和cmd tomcat下的中文乱码问题(win10 64位)
- tomcat是如何打破双亲委派机制的?
- Tomcat的目录结构及用途
- Tomcat启动找不到JRE_HOME的解决方法
- idea使用maven启动tomcat
- nginx和Tomcat集成后发生的重定向问题分析和解决
- idea中tomcat发布后的项目在哪儿