简介
JMX连接
JMX连接方式参考Apache官网介绍的方法(http://tomcat.apache.org/tomcat-8.0-doc/config/listeners.html#JMX_Remote_Lifecycle_Listener_-_org.apache.catalina.mbeans.JmxRemoteLifecycleListener),以下是我的实际步骤。
1、下载catalina-jmx-remote.jar包(点击下载),放至tomcat/lib文件夹下;
2、编辑tomcat/conf/server.xml,添加监听端口
<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener"
rmiRegistryPortPlatform="10001" rmiServerPortPlatform="10002" />
3、编辑tomcat/bin/catalina.sh,在JAVA_OPTS中添加系统配置,注意,此段配置要加在$CATALINA_BASE定义之后,否则tomcat会因为找不到$CATALINA_BASE而启动失败;
export JAVA_OPTS="-server
-Dfile.encoding=UTF-8 \
-Dcatalina.logbase=/var/log/tomcat7 \
-Dnet.sf.ehcache.skipUpdateCheck=true \
-XX:+DoEscapeAnalysis \
-XX:+UseConcMarkSweepGC \
-XX:+CMSClassUnloadingEnabled \
-XX:+UseParNewGC \
-Xms1536m -Xmx1536m \
-Dcom.sun.management.jmxremote.password.file=$CATALINA_BASE/conf/jmxremote.password \
-Dcom.sun.management.jmxremote.access.file=$CATALINA_BASE/conf/jmxremote.access \
-Dcom.sun.management.jmxremote.ssl=false"
4、在tomcat/conf/下新建jmxremote.password和jmxremote.access文件,其中jmxremote.
password存放JMX连接时的安全凭证,jmxremote.access标明账号权限;
5、编辑iptables,打开10001和10002两个端口,重启iptables;
service iptables restart
6、启动tomcat即可。
jstatd连接
1、在jdk的bin目录下新建文件jstatd.all.policy文件,编辑内容:
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
2、在当前目录(jdk/bin)下,执行如下命令,其中
123.59.46.165
为本机(远程服务器)IP,&表示用守护进程方式运行
jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=123.59.46.165 &
3、执行命令jps,查看找到jstatd的pid,执行命令netstat -autup | grep pid,查看监听的除默认1099端口外的另一个端口,此处为35934;
4、编辑iptables,打开1099和35934端口,重启iptables。
问题
解决
1、编辑/etc/hosts,添加一行,使本机IP和hostname对应;
123.59.46.165 fraborna
2、编辑/etc/sysconfig/network,编辑hostname;
HOSTNAME=fraborna
3、执行命令;
hostname fraborna
4、执行hostname -i查看,返回的应该是本机IP。