Linux下配置tomcat,为manager设置用户和密码,设置jvm远程监控tomcat
配置环境
操作系统:CentOS5.3
java版本:1.7.0(非安装包)
tomcat版本:6.0.35(非安装包)

1.配置java
将java的压缩包上传到新建的一个文件中并解压,例如将上传到test文件夹中,并使用tar -zxvf *.进行解压,解压后的文件更名为java

   设置环境变量
   export JAVA_HOME=/test/java
   export JAVA_BIN=$JAVA_HOME/bin
   export PATH=$PATH:$JAVA_HOME/bin
   export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar


   验证配置是否成功
   java -version查看java的版本,如果查询正确则配置成功

   查询java版本问题
   查询java版本时可能会提示出错:dl failure on line 685Error: failed /usr/local/jdk1.6.0_10/jre/lib/i386/client/libjvm.so, because /usr/local/jdk1.6.0_10/jre/lib/i386/client/libjvm.so: cannot restore segment prot after reloc: Permission denied
则可以使用/usr/sbin/setenforce 0暂时关闭,参考文档:hi.baidu/1052869107_a/item/be0c486e2e808806a1cf0f98

2.配置tomcat
将tomcat的压缩包apache-tomcat-6.0.上传到test中并解压,tar -zxvf *. ,更改解压后的文件夹名称为tomcat

   配置环境变量
   export JRE_HOME=$JAVA_HOME/jre
   export TOMCAT_HOME=/test/tomcat

   启动tomcat
   使用./test/tomcat/bin/startup.sh 启动tomcat
   
   启动tomcat时可能提示startup.s件为不可执行文件,可以使用下面的命令将startup.sh catalina.sh setclasspath.sh都设置为可执行文件
   chmod u+x startup.sh catalina.sh setclasspath.sh

   验证配置启动是否成功
   在本地浏览器输入:127.0.0.1:8080,可以进入tomcat的页面

   远程访问java配置用户变量
   验证过程中,可能在远程无法访问,但本地可以访问。此现象可能是因为防火墙的原因,
可以使用命令临时关闭防火墙:service iptables stop(start)
参考文档:hi.baidu/1052869107_a/item/09d5000e22446c1faddc70fa

3.为tomcat manager配置用户名和密码

在TOMCAT_HOME\l中设置用户名和密码。将最后面设置role和user的注释去掉,并设置某个用户(tomcat)的role为manager和tomcat。则该用户可以在网页上登录tomcat manager查看tomcat的运行情况。代码如:
  <role rolename="manager"/>
   <role rolename="tomcat"/>
   <user username="tomcat" password="tomcat" roles="tomcat,manager"/>

4.设置jvm远程监控tomcat

   设置用户名密码文件
   1)将JAVA_HOME/jre/lib/management/jmxremote.access和plate拷贝到一个文件JAVA_HOME/ jconsole/中,并将plate重命名为jmxremote.password
   2)将jmxremote.access内容更改为:monitor readonly。将jmxremote.password内容更改为monitor mxsoft。并设置jmxremo.password更改为本用户的操作权限,即600
   在这个过程中可能是需要先将文件的操作权限更改为775,然后更改之后再将文件的操作权限更改为600.文件操作权限更改命令为chmod -R 755 *(文件名)
   3)将JAVA_HOME/ jconsole/jmxremote.access拷贝到JAVA_HOME/jre/lib/management/,并覆盖原来的jvmremote.access
   文件操作权限更改参考资料:hi.baidu/1052869107_a/item/1b8811df273f265cd63aae17

   更改TOMCAT_HOME/bin/catalina.sh内容
   在# OS specific support.  $var _must_ be set to either true or false.后添加jvm的信息,即:
# OS specific support.  $var _must_ be set to either true or false.
#--------------------my add start-----------------------------------
JAVA_OPTS="-Dcom.sun.management.jmxremote.port=10080
-Dcom.sun.management.jmxremote.authenticate=true
-Dcom.sun.management.jmxremote.ssl=false
-i.server.hostname=192.168.1.106
-Dcom.sun.management.jmxremote.acccess.file=/data0/jdk1.7.0_05/jconsole/jmxremote.access
-Dcom.sun.management.jmxremote.password.file=/data0/jdk1.7.0_05/jconsole/jmxremote.password"
#----------------------my add stop----------------------------------
 更改文件内容之后使用./catalina.sh -run进行run一下,然后使用./startup.sh运行成功

   解决关闭tomcat时提示端口被占用
    运行shutdown.sh结束tomcat时,提示端口被占用,被占用的端口为catalina.sh中添加段
的端口(10080),更改10080为8009可以关闭tomcat,但再次运行关闭时问题依旧。解决方法:在catalina.sh 中前添加
JAVA_OPTS="$JAVA_OPTS "-Dcom.sun.management.jmxremote.port=8009
则tomcat可以正常的运行关闭
 参考文档:hi.baidu/1052869107_a/item/144d561704efd531b9318085