apache2.0.55+tomgcat4.0.4 + jk2集群中负载均衡的问题

angui 2006-03-30 04:04:59
系统环境:
system:windows2000 server
database:sql server

体系结构:
前端用 apache2.0.55 + jk2
后端用两个 tomcat4.0.4


问题描述:
当apache2.0.55 + 1个tomcat服务器时,系统运行良好
当apache2.0.55 + 2个tomcat服务器时,系统在访问没有权限管理的页面时,运行良好,但是遇到需要权限管理的页面,系统提示没有访问权限

已经查找到的问题有:
因为jk2的负载均衡中,是一个页面一个页面的分发到不同的tomcat服务器,比如权限验证需要访问两个页面index.jsp与submit.jsp页面,jk2会将index.jsp页面分发到tomgcat1服务器,将submit.jsp分发到tomcat2服务器,并验证用户成功,但是当访问需要验证权限的页面test.jsp时,jk2将页面分发到tomcat1服务器,这个时候在tomcat服务器中没有该用户的权限验证信息

请大虾多多指教

...全文
156 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jolestar 2006-03-31
  • 打赏
  • 举报
回复
没弄过负载均衡的问题,不过今天收藏了篇文章,看对你有帮助没有。

================================
RedHat linux+apache+tomcat+mod_jk 负载均衡安装说明
[来自xiaoaj@softroad.com.cn]


RedHat linux+apache+tomcat+mod_jk 负载均衡安装说明

1. 操作系统

RedHat Linux 9.0

2. 所需软件

Apache 2.0.54 下载地址

http://apache.freelamp.com/httpd/httpd-2.0.54.tar.gz

Tomcat5.5.9 下载地址

http://apache.justdn.org/jakarta/tomcat-5/v5.5.9/bin/jakarta-tomcat-5.5.9.tar.gz

Mod_jk 1.2.14 下载地址

http://apache.justdn.org/jakarta/tomcat-connectors/jk/source/jk-1.2.14/jakarta-tomcat-connectors-1.2.14-src.tar.gz

Jdk 1_5_0_04 下载地址

http://java.sun.com/j2se/1.5.0/download.jsp

备注:下载时将所需软件包文件保存在/usr/local目录下

3. 安装步骤

A 安装JDK

# cd /usr/local/

# chmod +x jdk-1_5_0_04-linux-i586-rpm.bin

# ./jdk-1.5.0_04-linux-i586-rpm.bin

# cd /usr/java/

# ln -s /usr/java/jdk-1_5_0_04 /usr/local/java

# vi /etc/profile

#添加如下内容

JAVA_HOME=/usr/local/java/

CLASSPATH=/usr/local/java/lib/dt.jar:/usr/local/java/lib/tools.jar

PATH=/usr/local/java/bin:$PATH

export PATH JAVA_HOME CLASSPATH

B 安装Apache

# cd /usr/local/

# tar xvfz httpd-2.0.54.tar.gz

# cd httpd-2.0.54

#./configure --prefix=/usr/local/apache --enable-module=so

# make

# make install

# cd /usr/local/apache/conf

# vi ./httpd.conf

将Listen 80 修改为Listen :80

将ServerName 修改为ServerName :80

在DirectoryIndex中添加 index.jsp

# cd /usr/local/apache/bin/

# ./apachectl configtest

若显示Syntax ok则表明安装成功

#./apachectl start

启动apache服务,访问本机80端口,查看端口是否正常

# ./apachectl stop

关闭服务

备注:prefix定义apache的安装路径

C安装Tomcat

# cd /usr/local/

# tar xvfz jakarta-tomcat-5.5.9.tar.gz

# ln –s /usr/local/jakarta-tomcat-5.5.9 /usr/local/tomcat

# vi /usr/local/tomcat/bin/catalina.sh

JAVA_HOME=/usr/local/java

启动服务后,访问本机8080端口,查看端口是否正常

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

关闭服务

# /usr/local/tomcat/bin/shutdown.sh /shutdown.bat

D 安装JK

#cd /usr/local/

# tar xzvf jakarta-tomcat-connectors-1.2.14-src.tar.gz

#cd jakarta-tomcat-connectors-1.2.14-src/jk/native

#chmod 755 buildconf.sh

#./buildconf.sh

#./configure --with-apxs=/usr/local/apache/bin/apxs

#make

#make install

#cd /usr/local/ jakarta-tomcat-connectors- jk1.2.14-src/jk/native/apache-2.0/

#cp mod_jk.so /usr/local/apache/modules/

E 系统整合

#vi /usr/local/apache/conf/httpd.conf

在文件最末尾加上如下语句

# Load mod_jk
LoadModule jk_module modules/mod_jk.so
# Configure mod_jk
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkMount /*.jsp loadbalancer
JkMount /servlet/* loadbalancer
JkMount /application/* loadbalancer


#vi /usr/local/apache/conf/workers.properties
#
# workers.properties
#
# In Unix, we use forward slashes:

ps=/



# list the workers by name
worker.list=tomcat1, tomcat2, loadbalancer
# ------------------------
# First tomcat server
# ------------------------

worker.tomcat1.port=8009
worker.tomcat1.host=127.0.0.1
worker.tomcat1.type=ajp13
# Specify the size of the open connection cache.
#worker.tomcat1.cachesize
#
# Specifies the load balance factor when used with
# a load balancing worker.
# Note:
# ----> lbfactor must be > 0
# ----> Low lbfactor means less work done by the worker.
worker.tomcat1.lbfactor=100


# ------------------------
# Second tomcat server
# ------------------------

worker.tomcat2.port=8009
worker.tomcat2.host=192.168.1.34
worker.tomcat2.type=ajp13
# Specify the size of the open connection cache.
#worker.tomcat2.cachesize
#
# Specifies the load balance factor when used with
# a load balancing worker.
# Note:
# ----> lbfactor must be > 0
# ----> Low lbfactor means less work done by the worker.
worker.tomcat2.lbfactor=100
# ------------------------
# Load Balancer worker
# ------------------------
# The loadbalancer (type lb) worker performs weighted round-robin
# load balancing with sticky sessions.
# Note:
# ----> If a worker dies, the load balancer will check its state
# once in a while. Until then all work is redirected to peer
# worker.
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=tomcat1, tomcat2
#
# END workers.properties
#


#vi /usr/local/tomcat/conf/server.xml
<Connector port="8009"
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"
redirectPort="8443" protocol="AJP/1.3" />
在120行左右加入如下语句
<Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat1"></Engine>
若第二台tomcat,将jvmRoute的修改为tomcat2
至此,系统已经整个完毕
启动apache和tomcat服务
# /usr/local/apache/bin/apachectl start
#/usr/local/tomcat/bin/catalina.sh start
将如下内容添加至/etc/rc.d/rc.local文件末尾,以便系统启动后开启apache,tomcat服务
/usr/local/tomcat/bin/catalina.sh start
/usr/local/apache/bin/apachectl start


==================================
ps:为什么用jk2呢,网上看好像不建议用jk2了。
原来用jk2,以为jk2比jk要先进,结果后来发现jk才是jk2的改进。真不知老外怎么命名的。

希望大侠们也帮我看看我的问题,100分求助:apache tomcat mod_jk 异常问题
http://community.csdn.net/Expert/topic/4652/4652816.xml?temp=.6593744
tangyongtgyg 2006-03-31
  • 打赏
  • 举报
回复
学习,顶一下!
angui 2006-03-30
  • 打赏
  • 举报
回复
呵呵,自己先顶一下

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧