修改/etc/hosts
建立连接的IP与主机名映射(未尝试过!)
感觉没啥用
暂时第一步骤,应该是用不到(不知道干嘛用的)
进入tomcat/bin目录
vim setenv.sh
#!/bin/shexport JAVA_OPTS="$JAVA_OPTS -Xms512m -Xmx512m -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access" chmod +x setenv.sh)(不太需要)
第一步骤
在server.xml中添加listener
进入tomcat/conf目录
vim server.xml
<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="10001" rmiServerPortPlatform="10002" />
需要下载对应版本tomcat的jar包(下载地址 http://mvnrepository.com/artifact/org.apache.tomcat/tomcat-catalina-jmx-remote)
第二步骤
JMX访问控制文件
进入tomcat/conf目录,执行
cp $JAVA_HOME/jre/lib/management/jmxremote.password.template jmxremote.password
cp $JAVA_HOME/jre/lib/management/jmxremote.access jmxremote.access
取消以下两行注释
#monitorRole QED
(monitorRole用户名,QED是密码,可以修改相应的密码)
#controlRole R&D
也可以自定义账号,按username password的格式添加一行,这样就需要同时修改jmxremote.access
vi jxmremote.access
在最下面添加
username readwrite(没试过!)
授权
chmod 600 jmxremote.password
chmod 600 jmxremote.access
第三步骤
配置/bin/catalina.sh文件
在# OS specific support. $var _must_ be set to either true or false.下 CATALINA_OPTS="$CATALINA_OPTS -Djava.rmi.server.hostname=主机ip
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"
如果需要添加安全凭证:
#-Dcom.sun.management.jmxremote.password.file=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre/lib/management/jmxremote.password
#-Dcom.sun.management.jmxremote.access.file=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre/lib/management/jmxremote.access
`
第四步骤
配置防火墙
在-A INPUT -j REJECT --reject-with icmp-host-prohibited前加入
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10001 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10002 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
(加入对外访问的防火墙)
重启防火墙
service iptables restart
(linux上没有/etc/sysconfig/iptables文件解决方式【yum -y install iptables-services】
遇到No route to host访问异常,iptables -F 【该命令会清空规则链,如果对防火墙要求较严格的情况下,不建议使用该方法,建议通过设置具体访问规则来实现端口的开放】)