如何从零部署Tomcat并实现外部监控
本教程适用于通过Tomcat和JRE软件包部署的Centos系统,YUM装的Tomcat当我没说,加油。
前提条件:
防火墙是关的
Selinux是关的
下载Tomcat
1 2
| 搁这官网下 https://tomcat.apache.org/download-80.cgi
|
安装JRE环境
没有JRE环境是运行不了tomcat的
1 2
| 搁这官网下 https://www.oracle.com/java/technologies/downloads/#java8
|
1 2 3 4 5
| 下载下来的是个gz的压缩包,这边直接在/user/local目录下解压缩 tar -xvf jdk-8u333-linux-x64.tar.gz -C /usr/software
解压出来个文件夹 jdk1.8.0_333
|
注意jdk1.8.0_333看清除你上面解压出来的名字和具体目录是啥
1 2 3 4
| #set java environment JAVA_HOME=/usr/local/jdk1.8.0_333 PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME PATH
|
1 2
| 应用一下环境变量 source /etc/profile
|
这时候输入java回车,能看到内容就说明JRE环境准备好了。
安装Tomcat
1 2 3 4 5 6 7 8
| 反正下载下来的是个gz的压缩包 apache-tomcat-8.5.81.tar.gz
我这边在/user/local目录下解压缩 tar -zxvf apache-tomcat-8.5.81.tar.gz -C /usr/software
解压出来一个文件夹 apache-tomcat-8.5.81
|
1 2 3 4 5 6 7
| 初始化Tomcat cd /usr/local/apache-tomcat-8.5.81/bin 这里面有个 catalina.sh 还有开关用的两个文件 shutdown.sh startup.sh
|
1 2 3 4 5
| 先去把GUI的manager用户密码创建了 cd /usr/local/apache-tomcat-8.5.81/conf
vim tomcat-users.xml 在</tomcat-users>的上面加上以下这些内容:
|
1 2
| <role rolename="manager-gui"/> <user username="root" password="root" roles="manager-gui"/>
|
1 2
| 输入./startup.sh就可以辣 ss -tunlp | grep 8080应该是可以看到端口启用了
|
顺便说一句,有一个自带的资源使用情况的url,可以输入这个看看
http://192.168.192.132:8080/manager/status
发现管理页面的Manager APP点击403无权限怎么办
选看,没啥事就不用管
1 2 3
| vim /usr/local/apache-tomcat-8.5.81/webapps/manager/META-INF 这是因为tomcat进行了ip限制,还需要将限制取消掉。 把最下面括号内的内容删除或者注释掉,比如下面这样,就完事
|
1 2
| <Context antiResourceLocking="false" privileged="true" > </Context>
|
配置Tomcat外部监控(无用户名密码验证版)
操作前,先把Tomcat停用,到bin目录
目前目录在:/usr/local/apache-tomcat-8.5.81/bin
1 2 3 4 5 6 7
| vim catalina.sh 输入以下内容 注意先找到 # ----- Execute The Requested Command ----这个位置
192.168.192.132 改成实际配置中的这台服务器的IP地址 12345 改成实际需要的端口号,就是别和在用的重复就行
|
1 2 3 4 5 6
| CATALINA_OPTS="${CATALINA_OPTS} -Djava.rmi.server.hostname=192.168.192.132" 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=12345" CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.ssl=false" CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.authenticate=false"
|
现在你可以启动了,到bin目录
看端口号应该可以发现有8080与12345同时存在,说明成功
Jconsole验证
用JDK8的Jconsole进行验证
1 2
| 使用远程进程,写上地址是192.168.192.132:12345 用户名密码不用输入
|
监控成功
WRD-NMS验证
网瑞达NMS,中间件监控,Tomcat
1 2 3 4
| 名称:192.168.192.132 地址:192.168.192.132 端口号:12345 用户名,密码不填
|
确定,监控成功
配置Tomcat外部监控(有用户名密码验证版)
操作前,先把Tomcat停用,到bin目录
目前目录在:/usr/local/apache-tomcat-8.5.81/bin
1 2 3 4 5 6 7
| vim catalina.sh 输入以下内容 注意先找到 # ----- Execute The Requested Command ----这个位置
192.168.192.132 改成实际配置中的这台服务器的IP地址 12345 改成实际需要的端口号,就是别和在用的重复就行
|
1 2 3 4 5 6 7 8
| CATALINA_OPTS="${CATALINA_OPTS} -Djava.rmi.server.hostname=192.168.192.132" 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=12345" CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.ssl=false" CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.authenticate=true" CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password" CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access"
|
注意准备好认证的用户名密码文件:
1 2 3 4 5 6 7
| 回到这个目录/usr/local/apache-tomcat-8.5.81/conf
cp -ap /usr/local/jdk1.8.0_333/jre/lib/management/jmxremote.access ./ cp -ap /usr/local/jdk1.8.0_333/jre/lib/management/jmxremote.password.template ./
顺便把复制完的jmxremote.password.template改名为jmxremote.password mv jmxremote.password.template jmxremote.password
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| vim jmxremote.access 到最底下,取消注释,虽然本来就没有注释
就是这个模样: monitorRole readonly controlRole readwrite \
vim jmxremote.password
到最底下,取消注释,这个要取消喔
就是这个模样:前面是用户名,后面是密码。用户名必须与access同步,一般来说改个密码差不多得了 monitorRole QED controlRole R&D
|
特别注意
权限!权限!权限!一定要把权限改成600
如果权限不对,Tomcat是不会启动的!!!!!!注意下属组权限是root:root就行
现在你可以启动了,到bin目录
看端口号应该可以发现有8080与12345同时存在,说明成功
Jconsole验证
用JDK8的Jconsole进行验证
1 2 3
| 使用远程进程,写上地址是192.168.192.132:12345 用户名:monitorRole 密码:QED
|
监控成功
WRD-NMS验证
网瑞达NMS,中间件监控,Tomcat
1 2 3 4 5
| 名称:192.168.192.132 地址:192.168.192.132 端口号:12345 用户名:monitorRole 密码:QED
|
确定,监控成功
效果截图