Apache2(.2)+tomcat+JK 集群
程序员文章站
2022-06-07 08:37:32
...
看了不少关于配置apache+tomcat集群的文章,按部就班的做,基本上能成功。可是软件的更新很快,一些老的配置已经不能满足需求,而一些新的配置也不能尽如人意,结合网上的实例,下面将我配置的过程做一个描述:
1 为什么要做集群?
集群有别于分布式的解决方案,它采用的是每台服务器运行相同应用的策略,由负责平衡的服务器进行分流,这对提高整个系统的并发量及吞吐量是更有效的办法。而集群对请求的处理又有两种不同的方式:负载平衡、状态复制(即集群),状态复制需要在各服务器间复制应用状态,而负载平衡则不用,每台服务器都是独立的。实践证明,在各应用服务器之间不需要状态复制的情况下,负载平衡可以达到性能的线性增长及更高的并发需求。
2 集群与负载平衡的区别
因为是以Apache + Tomcat+ JK 的负载平衡配置作为介绍,下面重点了解就JK的工作方式
使用mod_jk默认的以轮循方式进行平衡负载,假设有四个服务器节点,有10个请求,则四个节点分别接受请求编号如下:
节点A 节点B 节点C 节点D
1 2 3 4
5 6 7 8
9 10
而集群方式也是使用这种方法进行平衡。Tomcat中的集群原理是通过组播的方式进行节点的查找并使用TCP连接进行会话的复制。
集群不同于负载平衡的是,由于集群服务需要在处理请求之间不断地进行会话复制,复制后的会话将会慢慢变得庞大,因此它的资源占用率是非常高的,如果在并发量大的应用中,复制的会话大小会变得相当大,而使用的总内存更是会迅速升高。
但集群的会话复制,增加了系统的高可用性。由于在每台服务器都保存有用户的Session信息,如果服务器群中某台当机,应用可以自动切换到其它服务器上继续运行,而用户的信息不会丢失,这提高了应用的冗错性。
具体采用负载平衡还是集群,这要看应用的需求了。
3 软件下载
Tomcat: http://archive.apache.org/dist/tomcat/我使用的是tomcat-5;
Apache: http://archive.apache.org/dist/httpd/ 一般使用Apache2.2的版本
JK:mod_jk-1.2.x-httpd-2.2.x.so。jk是mod_jserv的替代者,它是Tomcat-Apache插件,为Apache和Tomcat的连接器,处理Tomcat和Apache之间的通信,在集群配置中充当负载均衡器的作用,当前的最新版本为1.2.26,不过不同JK版本与不同的Apache版本之间的搭配有一些差异,有的甚至配不起来。JK2是符合apache2.x系列的新品,但由于其配置太过麻烦,使用的人很少,很久以前已停止开发,所以我们采用了jk连接器,下载地址:http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries
值得注意的是:jk的版本最好和当前的Apache匹配。
说了这么多了,可能下面才是大家要关注的重点。
4 配置Apache
4.1 为了简便 ,可以下载Apache的安装文件,安装很简单,一路Next
4.2 安装完毕后,将下载的mod_jk-1.2.x-httpd-2.2.x.so复制到Apache安装目录下的modules子目录中。
关于Apache的配置文件,可以在网上查看下子资料,如设置DocumentRoot(部署根目录),Listen(监听端口)等等,这里不再赘述。
4.3 然后进入Apache安装目录下的conf子目录中,打开httpd.conf配置文件,在最后插入以下一行:
Include conf/mod_jk.conf
这样便于管理和修改配置文件。
4.4 在conf子目录下,建立一个新的配置文件:mod_jk.conf,此文件为Apache加载连接器的配置文件,文件名可修改,但要与httpd.conf中Include的文件名一致,内容如下:
# Load mod_jk module. Specify the filename
# of the mod_jk lib you’ve downloaded and
# installed in the previous section
#加载mod_jk模块
LoadModule jk_module modules/mod_jk-1.2.x-httpd-2.2.x.so(x表示版本号)
# Where to find workers.properties
JkWorkersFile conf/workers.properties
# Where to put jk logs
JkLogFile logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
#JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
# 请求分发配置,可以配置多项
JkMount /* loadbalancer
JkMount /jkstatus status
!/*.gif loadbalancer
!/*.jpg loadbalancer
!/*.png loadbalancer
!/*.css loadbalancer
!/*.js loadbalancer
!/*.htm loadbalancer
!/*.html loadbalancer
#关掉主机Lookup,如果为on,很影响性能,可以有10多秒钟的延迟。
HostnameLookups Off
注:1、 蓝色加粗的两行是重点,第一句是Apache加载JK模块用的;第二句为配置哪些URL请求将由负载平衡器来处理。
2、/* 匹配所有的请求,都由 loadbalancer 这个 worker 进行处理,但是有几个例外,/jkstatus 请求由 status 这个 worker 处理。另外这个配置中每一行数据前面的感叹号表示接下来的 URI 不要由 JK 进行处理,也就是 Apache直接处理所有的图片、css 文件、js 文件以及静态 html 文本文件。
4.5 在conf子目录下,建立一个新的配置文件:workers.properties,此文件为负载平衡的配置文件,文件名不能修改,这是JK默认的名字,内容如下:
worker.list=loadbalancer
# Define the first node...
worker.worker1.port=8009 #ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.worker1.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址
worker.worker1.type=ajp13
worker.worker1.lbfactor=1
worker.worker1.local_worker=1
worker.worker1.cachesize=1000
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=0
worker.worker1.reclycle_timeout=300
worker.worker1.retries=3
# Define the second node...
worker.worker2.port=9009 #ajp13 端口号,在tomcat下server.xml配置,默认8009,其他 主机可以用默认的端口
worker.worker2..host=localhost
worker.worker2..type=ajp13
worker.worker2..lbfactor=1
worker.worker2..local_worker=1
worker.worker2..cachesize=1000
worker.worker2..cache_timeout=600
worker.worker2..socket_keepalive=1
worker.worker2..socket_timeout=0
worker.worker2..reclycle_timeout=300
worker.worker2..retries=3
# Now we define the load-balancing behaviour
worker.loadbalancer.type=lb
worker.retries=3
worker.loadbalancer.balance_workers=worker1,worker2
worker.loadbalancer.sticky_session=true
worker.loadbalancer.sticky_session_force=true
注:以上定义了两个worker,一个为worker1,另一个为worker2,定义了一个负载平衡服务器loadbalancer,其中标蓝色的为重点配置项,相关的详细说明可以看官方的网站文档:http://tomcat.apache.org/connectors-doc/,其它节点的定义可以直接Copy,修改一下节点名及IP就好了。
A、worker.list=loadbalancer
设定工作的负载平衡器,各Tomcat节点不能加入此列表。
B、worker.worker1.lbfactor
负载平衡的权重比,如果此权重比越大,则分配到此节点的请求越多,如以上两个节点的权重比为1:1,则为平均分配。
C、worker.loadbalancer.balance_workers=worker1,worker2
指定此负载平衡器负责的Tomcat应用节点。
D、worker.loadbalancer.sticky_session=true
此处指定集群是否需要会话复制,如果设为true,则表明为会话粘性,不进行会话复制,当某用户的请求第一次分发到哪台Tomcat后,后继的请求会一直分发到此Tomcat服务器上处理;如果设为false,则表明需求会话复制。
E、worker.loadbalancer.sticky_session_force=true
如果上面的sticky_session设为true时,建议此处也设为true,此参数表明如果集群中某台Tomcat服务器在多次请求没有响应后,是否将当前的请求,转发到其它Tomcat服务器上处理;此参数在sticky_session=true时,影响比较大,会导致转发到其它Tomcat服务器上的请求,找不到原来的session,所以如果此时请求中有读取session中某些信息的话,就会导致应用的null异常。
4.6、Apache服务器的配置文件httpd.conf中,默认有三个参数对性能的影响比较大,但根据不同的性能要求,参数的表现又不一样,太小并发提不上去,太大性能反而不好,建议根据项目的需要,实际做个测试,如并发要求800的话,可以设定为:
#一个连接的最大请求数量
MaxKeepAliveRequests 1000(值为0,则不限制数量)
#每个进程的线程数,最大1920。NT只启动父子两个进程,不能设置启动多个进程
ThreadsPerChild 1000(最大为1920)
#每个子进程能够处理的最大请求数
MaxRequestsPerChild 1000(值为0,则不限制数量)
这三个参数要根据不同的需求,不同的服务器进行调整。
5 测试
我搭建的两个worker分别是 worker1和worker2,所用的端口分别是8009和9009,下面在同 一台电脑里测试loadbalance是否成功(host=localhost)。
在进行以上实验时,两个Tomcat服务器都在同一台机器上运行,应该确保它们没有使用相同的端 口。在Tomcat的默认的server,xml中,一共配置了以下3个端口:
<Server port="8005" shutdown="SHUTDOWN" debug="0">
<Connector port="8080"/>
<Connector port="8009"/>
两个Tomcat服务器都在同一台机器上运行,则至少应该对其中一个Tomcat服务器的以上3个端口号 都进行修改。
此外,如果把Tomcat和其他HTTP服务器集成,Tomcat主要负责处理HTTP服务器转发过来的客户请求,通过不会直接接受HTTP请求。因此为了提高Tomcat的运行性能,可以关闭Tomcat的HTTP连接器,方法为在server.xml中把Tomcat的HTTPConnector的配置注释掉。
如果是接不同电脑上的tomcat,修改两个Tomcat服务器的JK端口,确保它们和workers.properties文件中的配置对应。此外,在使用了loadbalancer后,要求worker的名字和Tomcat的server.xml文件中的<Engine>元素的jvmRoute属性一致。
Tomcat 服务器1:
<Engine name="Catalina" defaultHost="localhost" debug="0" jmvRoute="worker1">
Tomcat 服务器2:
<Engine name="Catalina" defaultHost="localhost" debug="0" jmvRoute="worker2">
6 测试
至此,整个配置全部完成。
编写测试文件:建立一个目录test,里面新建一个test.jsp,内容为 <%System.out.println("===========================");%>
把test放到tomcat1,tomcat2的webapps下。在完成以上步骤后,分别启动两个Tomcat服务器和 Apache服务器,然后访问 http"//localhost/test/test.jsp,通过 http://localhost/test/test.jsp 访问,查看tomcat1的窗口,可以看到打印了一行"=========="再刷新一次,tomcat2也打印了 一条,再刷新,可以看到请求会被tomcat1,tomcat2轮流处理,实现了负载均衡。
由于此时由 localbalancer来调度Tomcat服务器,因此不能断定到底访问的是哪个Tomcat服务器的 index.jsp,这对于Web客户来说是透明的。
对于负责请求分发的Apache服务器,需要消耗大量的 CPU资源,因此如果在测试过程中出现一些 Service Temporarily Unavailable或erver has shut down the connection prematurely这样的错 误,这一般都是服务器配置不够好引起的,或者是Apache、Tomcat、及应用中的某些配置不够使 用,这时候就要考虑换更好的机器或优化应用中的配置。
7 常见问题
一、cannot connect to server:无法连接到服务器。这种情况是服务器的配置有问题,服务器无法承受过多的并发连接了,需要优化服务器的配置:
如操作系统采用更高版本,如windows 2003 server,
优化tomcat配置:maxThreads="500" minSpareThreads="400" maxSpareThreads="450"
但是tomcat 最多支持500个并发访问
优化apache配置:
ThreadsPerChild 1900
MaxRequestsPerChild 10000
二、 Action.c(10): Error -27791: Server has shut down the connection prematurely
HTTP Status-Code=503 (Service Temporarily Unavailable)
一般都是由于服务器配置不够好引起的,需要优化硬件和调整程序了。
三、无法处理请求:
当我们输入 ***.do 命令后,apache却返回错误信息,而连接tomcat却没有问题。原因是没有把.do 命令转发给tomcat处理。解决方法如下:
在apache配置文件中配置如下内容:
JkMount /*.jsp loadbalancer
JkMount /*.do loadbalancer
转载至 http://telexiang.blogbus.com/logs/22529232.html
1 为什么要做集群?
集群有别于分布式的解决方案,它采用的是每台服务器运行相同应用的策略,由负责平衡的服务器进行分流,这对提高整个系统的并发量及吞吐量是更有效的办法。而集群对请求的处理又有两种不同的方式:负载平衡、状态复制(即集群),状态复制需要在各服务器间复制应用状态,而负载平衡则不用,每台服务器都是独立的。实践证明,在各应用服务器之间不需要状态复制的情况下,负载平衡可以达到性能的线性增长及更高的并发需求。
2 集群与负载平衡的区别
因为是以Apache + Tomcat+ JK 的负载平衡配置作为介绍,下面重点了解就JK的工作方式
使用mod_jk默认的以轮循方式进行平衡负载,假设有四个服务器节点,有10个请求,则四个节点分别接受请求编号如下:
节点A 节点B 节点C 节点D
1 2 3 4
5 6 7 8
9 10
而集群方式也是使用这种方法进行平衡。Tomcat中的集群原理是通过组播的方式进行节点的查找并使用TCP连接进行会话的复制。
集群不同于负载平衡的是,由于集群服务需要在处理请求之间不断地进行会话复制,复制后的会话将会慢慢变得庞大,因此它的资源占用率是非常高的,如果在并发量大的应用中,复制的会话大小会变得相当大,而使用的总内存更是会迅速升高。
但集群的会话复制,增加了系统的高可用性。由于在每台服务器都保存有用户的Session信息,如果服务器群中某台当机,应用可以自动切换到其它服务器上继续运行,而用户的信息不会丢失,这提高了应用的冗错性。
具体采用负载平衡还是集群,这要看应用的需求了。
3 软件下载
Tomcat: http://archive.apache.org/dist/tomcat/我使用的是tomcat-5;
Apache: http://archive.apache.org/dist/httpd/ 一般使用Apache2.2的版本
JK:mod_jk-1.2.x-httpd-2.2.x.so。jk是mod_jserv的替代者,它是Tomcat-Apache插件,为Apache和Tomcat的连接器,处理Tomcat和Apache之间的通信,在集群配置中充当负载均衡器的作用,当前的最新版本为1.2.26,不过不同JK版本与不同的Apache版本之间的搭配有一些差异,有的甚至配不起来。JK2是符合apache2.x系列的新品,但由于其配置太过麻烦,使用的人很少,很久以前已停止开发,所以我们采用了jk连接器,下载地址:http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries
值得注意的是:jk的版本最好和当前的Apache匹配。
说了这么多了,可能下面才是大家要关注的重点。
4 配置Apache
4.1 为了简便 ,可以下载Apache的安装文件,安装很简单,一路Next
4.2 安装完毕后,将下载的mod_jk-1.2.x-httpd-2.2.x.so复制到Apache安装目录下的modules子目录中。
关于Apache的配置文件,可以在网上查看下子资料,如设置DocumentRoot(部署根目录),Listen(监听端口)等等,这里不再赘述。
4.3 然后进入Apache安装目录下的conf子目录中,打开httpd.conf配置文件,在最后插入以下一行:
Include conf/mod_jk.conf
这样便于管理和修改配置文件。
4.4 在conf子目录下,建立一个新的配置文件:mod_jk.conf,此文件为Apache加载连接器的配置文件,文件名可修改,但要与httpd.conf中Include的文件名一致,内容如下:
# Load mod_jk module. Specify the filename
# of the mod_jk lib you’ve downloaded and
# installed in the previous section
#加载mod_jk模块
LoadModule jk_module modules/mod_jk-1.2.x-httpd-2.2.x.so(x表示版本号)
# Where to find workers.properties
JkWorkersFile conf/workers.properties
# Where to put jk logs
JkLogFile logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
#JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
# 请求分发配置,可以配置多项
JkMount /* loadbalancer
JkMount /jkstatus status
!/*.gif loadbalancer
!/*.jpg loadbalancer
!/*.png loadbalancer
!/*.css loadbalancer
!/*.js loadbalancer
!/*.htm loadbalancer
!/*.html loadbalancer
#关掉主机Lookup,如果为on,很影响性能,可以有10多秒钟的延迟。
HostnameLookups Off
注:1、 蓝色加粗的两行是重点,第一句是Apache加载JK模块用的;第二句为配置哪些URL请求将由负载平衡器来处理。
2、/* 匹配所有的请求,都由 loadbalancer 这个 worker 进行处理,但是有几个例外,/jkstatus 请求由 status 这个 worker 处理。另外这个配置中每一行数据前面的感叹号表示接下来的 URI 不要由 JK 进行处理,也就是 Apache直接处理所有的图片、css 文件、js 文件以及静态 html 文本文件。
4.5 在conf子目录下,建立一个新的配置文件:workers.properties,此文件为负载平衡的配置文件,文件名不能修改,这是JK默认的名字,内容如下:
worker.list=loadbalancer
# Define the first node...
worker.worker1.port=8009 #ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.worker1.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址
worker.worker1.type=ajp13
worker.worker1.lbfactor=1
worker.worker1.local_worker=1
worker.worker1.cachesize=1000
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=0
worker.worker1.reclycle_timeout=300
worker.worker1.retries=3
# Define the second node...
worker.worker2.port=9009 #ajp13 端口号,在tomcat下server.xml配置,默认8009,其他 主机可以用默认的端口
worker.worker2..host=localhost
worker.worker2..type=ajp13
worker.worker2..lbfactor=1
worker.worker2..local_worker=1
worker.worker2..cachesize=1000
worker.worker2..cache_timeout=600
worker.worker2..socket_keepalive=1
worker.worker2..socket_timeout=0
worker.worker2..reclycle_timeout=300
worker.worker2..retries=3
# Now we define the load-balancing behaviour
worker.loadbalancer.type=lb
worker.retries=3
worker.loadbalancer.balance_workers=worker1,worker2
worker.loadbalancer.sticky_session=true
worker.loadbalancer.sticky_session_force=true
注:以上定义了两个worker,一个为worker1,另一个为worker2,定义了一个负载平衡服务器loadbalancer,其中标蓝色的为重点配置项,相关的详细说明可以看官方的网站文档:http://tomcat.apache.org/connectors-doc/,其它节点的定义可以直接Copy,修改一下节点名及IP就好了。
A、worker.list=loadbalancer
设定工作的负载平衡器,各Tomcat节点不能加入此列表。
B、worker.worker1.lbfactor
负载平衡的权重比,如果此权重比越大,则分配到此节点的请求越多,如以上两个节点的权重比为1:1,则为平均分配。
C、worker.loadbalancer.balance_workers=worker1,worker2
指定此负载平衡器负责的Tomcat应用节点。
D、worker.loadbalancer.sticky_session=true
此处指定集群是否需要会话复制,如果设为true,则表明为会话粘性,不进行会话复制,当某用户的请求第一次分发到哪台Tomcat后,后继的请求会一直分发到此Tomcat服务器上处理;如果设为false,则表明需求会话复制。
E、worker.loadbalancer.sticky_session_force=true
如果上面的sticky_session设为true时,建议此处也设为true,此参数表明如果集群中某台Tomcat服务器在多次请求没有响应后,是否将当前的请求,转发到其它Tomcat服务器上处理;此参数在sticky_session=true时,影响比较大,会导致转发到其它Tomcat服务器上的请求,找不到原来的session,所以如果此时请求中有读取session中某些信息的话,就会导致应用的null异常。
4.6、Apache服务器的配置文件httpd.conf中,默认有三个参数对性能的影响比较大,但根据不同的性能要求,参数的表现又不一样,太小并发提不上去,太大性能反而不好,建议根据项目的需要,实际做个测试,如并发要求800的话,可以设定为:
#一个连接的最大请求数量
MaxKeepAliveRequests 1000(值为0,则不限制数量)
#每个进程的线程数,最大1920。NT只启动父子两个进程,不能设置启动多个进程
ThreadsPerChild 1000(最大为1920)
#每个子进程能够处理的最大请求数
MaxRequestsPerChild 1000(值为0,则不限制数量)
这三个参数要根据不同的需求,不同的服务器进行调整。
5 测试
我搭建的两个worker分别是 worker1和worker2,所用的端口分别是8009和9009,下面在同 一台电脑里测试loadbalance是否成功(host=localhost)。
在进行以上实验时,两个Tomcat服务器都在同一台机器上运行,应该确保它们没有使用相同的端 口。在Tomcat的默认的server,xml中,一共配置了以下3个端口:
<Server port="8005" shutdown="SHUTDOWN" debug="0">
<Connector port="8080"/>
<Connector port="8009"/>
两个Tomcat服务器都在同一台机器上运行,则至少应该对其中一个Tomcat服务器的以上3个端口号 都进行修改。
此外,如果把Tomcat和其他HTTP服务器集成,Tomcat主要负责处理HTTP服务器转发过来的客户请求,通过不会直接接受HTTP请求。因此为了提高Tomcat的运行性能,可以关闭Tomcat的HTTP连接器,方法为在server.xml中把Tomcat的HTTPConnector的配置注释掉。
如果是接不同电脑上的tomcat,修改两个Tomcat服务器的JK端口,确保它们和workers.properties文件中的配置对应。此外,在使用了loadbalancer后,要求worker的名字和Tomcat的server.xml文件中的<Engine>元素的jvmRoute属性一致。
Tomcat 服务器1:
<Engine name="Catalina" defaultHost="localhost" debug="0" jmvRoute="worker1">
Tomcat 服务器2:
<Engine name="Catalina" defaultHost="localhost" debug="0" jmvRoute="worker2">
6 测试
至此,整个配置全部完成。
编写测试文件:建立一个目录test,里面新建一个test.jsp,内容为 <%System.out.println("===========================");%>
把test放到tomcat1,tomcat2的webapps下。在完成以上步骤后,分别启动两个Tomcat服务器和 Apache服务器,然后访问 http"//localhost/test/test.jsp,通过 http://localhost/test/test.jsp 访问,查看tomcat1的窗口,可以看到打印了一行"=========="再刷新一次,tomcat2也打印了 一条,再刷新,可以看到请求会被tomcat1,tomcat2轮流处理,实现了负载均衡。
由于此时由 localbalancer来调度Tomcat服务器,因此不能断定到底访问的是哪个Tomcat服务器的 index.jsp,这对于Web客户来说是透明的。
对于负责请求分发的Apache服务器,需要消耗大量的 CPU资源,因此如果在测试过程中出现一些 Service Temporarily Unavailable或erver has shut down the connection prematurely这样的错 误,这一般都是服务器配置不够好引起的,或者是Apache、Tomcat、及应用中的某些配置不够使 用,这时候就要考虑换更好的机器或优化应用中的配置。
7 常见问题
一、cannot connect to server:无法连接到服务器。这种情况是服务器的配置有问题,服务器无法承受过多的并发连接了,需要优化服务器的配置:
如操作系统采用更高版本,如windows 2003 server,
优化tomcat配置:maxThreads="500" minSpareThreads="400" maxSpareThreads="450"
但是tomcat 最多支持500个并发访问
优化apache配置:
ThreadsPerChild 1900
MaxRequestsPerChild 10000
二、 Action.c(10): Error -27791: Server has shut down the connection prematurely
HTTP Status-Code=503 (Service Temporarily Unavailable)
一般都是由于服务器配置不够好引起的,需要优化硬件和调整程序了。
三、无法处理请求:
当我们输入 ***.do 命令后,apache却返回错误信息,而连接tomcat却没有问题。原因是没有把.do 命令转发给tomcat处理。解决方法如下:
在apache配置文件中配置如下内容:
JkMount /*.jsp loadbalancer
JkMount /*.do loadbalancer
转载至 http://telexiang.blogbus.com/logs/22529232.html
上一篇: 配置 Gatein 为Oracle连接
下一篇: JVM参数配置大全
推荐阅读
-
Apache2 PHP 在Windows2000下不稳定解决方案_PHP
-
Win XP下全新安装Apache2,PHP5,MYSQL5,Zend的_PHP教程
-
最纯净的Apache2/PHP5/Mysql5 for WinXP配置法
-
阿里云 linux下已有mysql安装phpmyadmin php apache2
-
Linux下安装Hadoop集群(2.部署Hadoop)
-
kubernetes企业级高可用集群搭建(二进制)——2、高可用集群部署
-
AH00558: apache2: Could not reliably determine the server's fully qualified doma 博客分类: apache2 apacheapache2
-
【Spark2运算效率】第五节 影响生产集群运算效率的原因之小文件
-
K8S实战DAY2-使用Kubeadm高可用集群部署及测试
-
RHCS高可用集群下的iscsi共享磁盘与GFS2全局文件系统(实现多点写入)