環境:java
os:centos7linux
jdk version: oracle官方下載1.8.0_111apache
tomcat:apache-tomcat-8.0.39.tar.gzvim
一:jconsolewindows
廢話少說,直接上配置:centos
1》#vim /usr/local/tomcat/bin/setenv.shtomcat
CATALINA_OPTS="-server -Xms256m -Xmx300m -Xss512k -XX:PermSize=128m -XX:MaxPermSize=256m"服務器
JAVA_OPTS="-Djava.rmi.server.hostname=192.168.233.130oracle
-Dcom.sun.management.jmxremote tcp
-Dcom.sun.management.jmxremote.port=8008
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"
以上是jconsole客戶端遠程鏈接無需用戶名密碼認證的配置。
2》 因爲tomcat jmx監聽端口是隨機分配的,因此這種方式必須關閉iptables。下面來看看怎麼指定端口分配並加上密碼驗證:
cd /usr/local/tomcat/conf
cp /usr/java/jdk1.8.0_111/jre/lib/management/jmxremote.access ./
cp /usr/java/jdk1.8.0_111/jre/lib/management/jmxremote.password.template ./jmxremote.password
chmod 600 jmxremote.access jmxremote.password
jmxremote.access 通常保持原始內容不變便可。
對於jmxremote.password,將其中的:
monitorRole linuxeye
controlRole linuxeye
井號註釋取消掉。其中monitorRole爲只擁有隻讀權限的角色,controlRole有更高權限:讀寫等等。
新增tomcat/bin/setenv.sh
CATALINA_OPTS="-server -Xms256m -Xmx300m -Xss512k -XX:PermSize=128m -XX:MaxPermSize=256m"
JAVA_OPTS="-Djava.rmi.server.hostname=192.168.233.130
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=true
-Dcom.sun.management.jmxremote.password.file=$CATALINA_BASE/conf/jmxremote.password
-Dcom.sun.management.jmxremote.access.file=$CATALINA_BASE/conf/jmxremote.access"
下載catalina-jmx-remote.jar,放到tomcat/lib目錄下
cd tomcat/lib
wget http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.39/bin/extras/catalina-jmx-remote.jar
編輯server.xml:
<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
....
<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="8081" rmiServerPortPlatform="8082" />
最後將固定的端口加入防火牆信任列表
iptables -A INPUT -p tcp --dport 8081 -j ACCEPT
iptables -A INPUT -p tcp --dport 8082 -j ACCEPT
重啓tomcat
可使用netstat -an | grep -E '8081|8082'命令查看端口是否正常啓動。
打開windows java安裝路徑Java\jdk1.7.0_71\bin\jconsole.exe,輸入服務器端相關信息:
點擊"鏈接",進入監控頁面: