jvm linux tomcat linux关闭tomcat命令

本篇文章给大家谈谈jvm linux tomcat,以及linux关闭tomcat命令对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

tomcat如何启动jvm实例

Tomcat可以通过修改catalina.bat或catalina.sh文件来设置JVM参数并启动。

在Windows环境下,可以打开Tomcat的bin目录下的catalina.bat文件,找到set JAVA_OPTS=的行,添加参数-Xms512M-Xmx1024M来设置初始堆大小和最大堆大小,然后保存文件。接着,在bin目录下双击startup.bat文件来启动Tomcat。在命令行窗口中,可以输入jvisualvm命令来查看Tomcat的JVM参数。

在Linux环境下,可以打开Tomcat的bin目录下的catalina.sh文件,找到JAVA_OPTS=的行,添加参数-Xms512M-Xmx1024M来设置初始堆大小和最大堆大小,然后保存文件。接着,在终端中执行startup.sh来启动Tomcat。同样地,可以使用jvisualvm命令来查看Tomcat的JVM参数。

linux tomcat 配置JVM 远程访问

JMX(Java Management Extensions)是一个让Java应用程序具备管理功能的框架。其核心在于提供一套标准的代理和服务,允许程序实现自我监控。从实践角度理解,JMX让开发者能够在运行时对应用进行动态配置和监控,如查看每日UV、PV数据,或在业务高峰时调整接口并发配置。

在Linux环境下,利用JMX监控Tomcat应用,首先需要准备相应的环境和工具。具体步骤如下:

1.1环境准备

确保系统上安装了VisualVM 2.0.5、Linux(如Ubuntu 14.04.6 LTS)及Tomcat 7.0.94。

1.2下载VisualVM

访问官方下载链接visualvm.github.io/获取最新版本。

1.3下载Tomcat的JMX扩展库

跳过这一步,当需要远程监控时再行操作,库文件应放置于Tomcat的lib目录下。

2.1修改配置文件

编辑catalina.sh文件,添加以下JMX相关配置,确保使用JMX进行远程管理,包括设置服务器端IP、监听端口以及是否启用SSL通信和密码验证。

2.2调整JMX远程服务

在%JAVA_HOME%/jre/lib/management目录下修改jmxremote.password.template为jmxremote.password,并编辑文件内容,设置密码、用户角色,确保Tomcat启动后权限正确。

2.3开放JMX代理端口

通过检查catalina.out日志确保端口10001启动成功,或使用iptables设置端口开放,对于云服务器需在安全组中添加相应的规则。

3.1连接VisualVM

在客户端启动VisualVM,通过远程功能添加服务器IP,然后在远程节点添加JMX连接,输入IP:10001端口进行连接。确保使用安全凭证,输入用户名和密码。

3.2解决随机端口问题

在JSR 160中,JMX-Adaptor会开启随机端口进行额外通道。需要额外开放端口10002,修改Tomcat的service.xml文件,确保两个端口同时开放,重启Tomcat后,即可成功远程监控面板信息。

总结,通过上述步骤,实现了Linux环境下利用JMX对Tomcat应用的远程监控与管理,显著提升了应用的运行效率和维护便利性。

linux下apache+tomcat集群详细配置

环境:

操作系统均为:CentOS 5.1

Apache2.X服务器一台:IP地址192.168.232.4;安装路径/usr/local/apache;

Tomcat6服务器一台:IP地址192.168.232.5;安装路径/usr/local/tomcat;

Tomcat6服务器一台:IP地址192.168.232.6;安装路径/usr/local/tomcat;

配置:

Apache安装:

#./configure--prefix=/usr/local/apache--enable-modules=so--enable-mods-shared=all--enable-proxy--enable-proxy-connect--enable-proxy-ftp--enable-proxy-http--enable-proxy-ajp--enable-proxy-balancer--enable-rewrite

注释:激活tomcat集群需要的 enable-proxy,enable-proxy-http,enable-proxy-connect,enable-proxy-ajp和enable-proxy-balancer,其中proxy-ajp和proxy-balancer必须依赖proxy,如果是自定义的编译除了以上几个必须的模块外,mod_status也要编译进去,切记。enable-proxy-ftp可以不编译。

#make;make install

制作Apache启动项:

#cp support/apachectl/etc/rc.d/init.d/httpd

#vi/etc/rc.d/init.d/httpd

添加以下内容:(包括#号)

# Startup script for the Apache Web Server

# chkconfig: 2345 85 15

# description: Apache is a World Wide Web server.It is used to server

# HTML files and CGI.

# processname: httpd

# pidfile:/usr/local/apache/log/httpd.pid

# config:/usr/local/apache/conf/httpd.conf

增加服务项

#chkconfig--add httpd

#chmod 755/etc/rc.d/init.d/httpd

#chkconfig--level 345 httpd on

JDK安装:

#chmod a+x jdk-6u4-linux-i586-rpm.bin

#./jdk-6u4-linux-i586-rpm.bin

JAVA环境变量设置:

#vi/etc/profile

在文件最后添加以下内容:

JAVA_HOME=/usr/java/jdk1.6.0_04

CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar

PATH=$JAVA_HOME/bin:$PATH

CATALINA_HOME=/usr/local/tomcat

export JAVA_HOME CLASSPATH PATH CATALINA_HOME

执行如下命令使环境变量生效:

source/etc/profile

测试配置是否成功:

java–version

Tomcat安装:

#wget [url][/url]

#tar zxvf apache-tomcat-6.0.16.tar.gz

#mv apache-tomcat-6.0.16/usr/local/tomcat

Tomcat随机启动:

#vi/etc/rc.local

添加以下内容:

/usr/local/tomcat/bin/startup.sh

tomcat6配置文件server.xml:

<!-- You should set jvmRoute to support load-balancing via AJP ie:

<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">

-->

<Engine name="Catalina" defaultHost="localhost">

改成

<!-- You should set jvmRoute to support load-balancing via AJP ie:

-->

<Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcatX">

<!--

<Engine name="Catalina" defaultHost="localhost">

-->

说明:

第一台tomcat就把jvmRoute="tomcat1"

第二台tomcat就把jvmRoute="tomcat2"

<!--

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

-->

去掉注释变为

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

***群集详细配置***

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"

channelSendOptions="8">

<Manager className="org.apache.catalina.ha.session.DeltaManager"

expireSessionsOnShutdown="false"

notifyListenersOnReplication="true"/>

<Channel className="org.apache.catalina.tribes.group.GroupChannel">

<Membership className="org.apache.catalina.tribes.membership.McastService"

address="228.0.0.4"

port="45564"

frequency="500"

dropTime="3000"/>

<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"

address="auto"

port="4000"

autoBind="100"

selectorTimeout="5000"

maxThreads="6"/>

<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">

<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>

</Sender>

<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>

<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>

</Channel>

<Valve className="org.apache.catalina.ha.tcp.ReplicationValve"

filter=""/>

<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>

<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"

tempDir="/tmp/war-temp/"

deployDir="/tmp/war-deploy/"

watchDir="/tmp/war-listen/"

watchEnabled="false"/>

<ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>

<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>

</Cluster>

配置应用的web.xml:

在每个webapps应用中,修改配置文件web.xml文件添加元素<distributable/>

在web.xml文件中<web-app>元素下增加以下内容:

<!--此应用将与群集服务器复制Session-->

<distributable/>

具体修改如下:

修改前:

<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app xmlns="[url][/url]"

xmlns:xsi=""

xsi:schemaLocation=" [url][/url]"

version="2.5">

</web-app>

修改后:

<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app xmlns="[url][/url]"

xmlns:xsi=""

xsi:schemaLocation=" [url][/url]"

version="2.5">

<!--此应用将与群集服务器复制Session-->

<distributable/>

</web-app>

配置apache的ajp负载均衡功能:

确保将以下Module的注释去掉

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_connect_module modules/mod_proxy_connect.so

LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

LoadModule proxy_http_module modules/mod_proxy_http.so

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

LoadModule status_module modules/mod_status.so

增加以下内容:

# Proxypass Config

Include conf/extra/httpd-modproxy.conf

建立文件httpd-modproxy.conf输入内容:

<Location/server-status>

SetHandler server-status

Order Deny,Allow

Deny from all

Allow from all

</Location>

<Location/balancer-manager>

SetHandler balancer-manager

Order Deny,Allow

Deny from all

Allow from all

</Location>

ProxyRequests Off

ProxyPass/ balancer://tomcatcluster stickysession=jsessionid nofailover=On

<Proxy balancer://tomcatcluster>

BalancerMember [url][/url] loadfactor=1

BalancerMember [url][/url] loadfactor=2

</Proxy>

注释:

ProxyRequests Off表示启用反向代理,必须开启;

ProxyPass为代理转发的Url,即将所有访问/的请求转发到群集balancer://tomcatcluster,这里为/即将所有访问/的请求转发到群集balancer://tomcatcluster的/test目录;

BalancerMember为群集的成员,即群集服务器1或2,负载均衡服务器会根据均衡规则来将请求转发给BalancerMember;

调试负载均衡集群系统:

访问apache服务器的web服务:[url][/url]

如果显示负载均衡有关信息则说明成功了,接着可以访问[url][/url]即访问到了tomcat的应用

***必须先启动Tomcat服务再启动Apache服务!***

参考文档:

[url][/url]

[url][/url]

[url][/url]

[url][/url]

阅读剩余
THE END