apache整合tomcat实现负载均衡----apache分发请求失败

先绅 2016-12-25 02:38:41
这些配置都是在ubuntu12.04上配置的
apache2.conf

mod_jk.conf

workers.properties

我在这云服务器上配置两个tomcat,,两个都可以单独访问各自webapp下的war包,apache也可以通ip地址在网页上打赢it works,但是用apache来访问tomcat下webapp下war包时,没起作用,我个人感觉就是apache接收的请求没有分发给下面的tomcat。这发帖前我已经弄了10多天了,好累,网上各种方法都试过了,就是没起作用。错误日志也没打印什么。大神们,给给你们的意见
...全文
561 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
先绅 2016-12-26
  • 打赏
  • 举报
回复
。。。。。。没有人了?
先绅 2016-12-25
  • 打赏
  • 举报
回复
有没有人帮我解决一下问题?
先绅 2016-12-25
  • 打赏
  • 举报
回复
引用 23 楼 l414382964 的回复:
[quote=引用 21 楼 DREAMEER_DD 的回复:] [quote=引用 18 楼 l414382964 的回复:] 是apache报错了,然后往错误日志文件写错误信息,发现找不到错误日志文件。又报错了。
最后一个的错误日志: shopping是我项目名称。但是我的项目war包都放在两个tomcat的webapp目录下[/quote] 怎么路径转换为/var/www/shopping了 那就不对了 吧[/quote] 我现在都不知道如何修改了。改了好多天了。。。。
look_沙粒 2016-12-25
  • 打赏
  • 举报
回复
引用 21 楼 DREAMEER_DD 的回复:
[quote=引用 18 楼 l414382964 的回复:] 是apache报错了,然后往错误日志文件写错误信息,发现找不到错误日志文件。又报错了。
最后一个的错误日志: shopping是我项目名称。但是我的项目war包都放在两个tomcat的webapp目录下[/quote] 怎么路径转换为/var/www/shopping了 那就不对了 吧
先绅 2016-12-25
  • 打赏
  • 举报
回复
引用 20 楼 l414382964 的回复:
你分析下你配置的错误日志的记录。 看看能分析出来不。 我也不知道怎么回事了
我都分析了好多天,不知道哪里出错。。
先绅 2016-12-25
  • 打赏
  • 举报
回复
引用 18 楼 l414382964 的回复:
是apache报错了,然后往错误日志文件写错误信息,发现找不到错误日志文件。又报错了。


最后一个的错误日志:


shopping是我项目名称。但是我的项目war包都放在两个tomcat的webapp目录下
look_沙粒 2016-12-25
  • 打赏
  • 举报
回复
你分析下你配置的错误日志的记录。 看看能分析出来不。 我也不知道怎么回事了
先绅 2016-12-25
  • 打赏
  • 举报
回复
引用 18 楼 l414382964 的回复:
是apache报错了,然后往错误日志文件写错误信息,发现找不到错误日志文件。又报错了。
噢~你看的那个日志的时间是两点的时候的,你应该看的是4点左右的日志
look_沙粒 2016-12-25
  • 打赏
  • 举报
回复
是apache报错了,然后往错误日志文件写错误信息,发现找不到错误日志文件。又报错了。
先绅 2016-12-25
  • 打赏
  • 举报
回复
引用 16 楼 l414382964 的回复:
文件路径找不到
只是个日志文件,这难道也会影响?我想前好像解决了这错误的,怎么又出现?
look_沙粒 2016-12-25
  • 打赏
  • 举报
回复


文件路径找不到
先绅 2016-12-25
  • 打赏
  • 举报
回复
[quote=引用 13 楼 l414382964 的回复:] 没有分发请求你是怎么看出来的? 我打开你的tomcat1看到的是tomcat的首页,并不是你的项目首页。 你在访问apache的时间也要到项目名称的。 access.log可以看到每个请求的返回状态码的,下面是304的错误码示例: [23/Dec/2016:12:11:29 +0800] "GET /images/info.jpg HTTP/1.1" 304 -[/quote 我如果通过apache来访问就是用这个地址:http://101.201.65.103/shopping/main ---但是这个不行 而我用特定的tomcat来访问就可以: http://101.201.65.103:8080/shopping/main ---这样看来不就是没有分发请求?
先绅 2016-12-25
  • 打赏
  • 举报
回复
引用 13 楼 l414382964 的回复:
没有分发请求你是怎么看出来的? 我打开你的tomcat1看到的是tomcat的首页,并不是你的项目首页。 你在访问apache的时间也要到项目名称的。 access.log可以看到每个请求的返回状态码的,下面是304的错误码示例: [23/Dec/2016:12:11:29 +0800] "GET /images/info.jpg HTTP/1.1" 304 -
你说的是什么意思?不懂
look_沙粒 2016-12-25
  • 打赏
  • 举报
回复
没有分发请求你是怎么看出来的? 我打开你的tomcat1看到的是tomcat的首页,并不是你的项目首页。 你在访问apache的时间也要到项目名称的。 access.log可以看到每个请求的返回状态码的,下面是304的错误码示例: [23/Dec/2016:12:11:29 +0800] "GET /images/info.jpg HTTP/1.1" 304 -
先绅 2016-12-25
  • 打赏
  • 举报
回复
引用 10 楼 l414382964 的回复:
so用你自己的
主要是这个
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1,tomcat2
worker.controller.sticky_session=1

还有把你的apache的配置httpd.conf里面的日志打开
ErrorLog logs/error.log

可以看看日志报什么错误

mod_jk的日志:

apachede的日志:


apache这个日志文件怎么会报错?
先绅 2016-12-25
  • 打赏
  • 举报
回复
引用 6 楼 l414382964 的回复:
没看出什么大问题,这个是我的配置: httpd.conf: include conf/mod_jk.conf mod_jk.conf: LoadModule jk_module modules/mod_jk-apache-2.0.55.so JkWorkersFile conf/workers.properties JkMount /*.controller controller workers.properties: worker.list=controller,tomcat1,tomcat2 worker.tomcat1.port=8118 worker.tomcat1.host=localhost worker.tomcat1.type=ajp13 worker.tomcat1.lbfactor = 1 worker.tomcat2.port=8138 worker.tomcat2.host=localhost worker.tomcat2.type=ajp13 worker.tomcat2.lbfactor = 1 worker.controller.type=lb worker.controller.balanced_workers=tomcat1,tomcat2 worker.controller.sticky_session=1 可以正常使用的。 你微调下,最好把apache的日志分析下看看是什么问题
我先前试过了,如果我在mod_jk.conf或者在workers.properties里面如果配置出错,错误日志里面都有信息,我把这些改过来之后,apache日志和mod_jk日志没有什么异常信息,但是就是没有分发请求
look_沙粒 2016-12-25
  • 打赏
  • 举报
回复
so用你自己的 主要是这个 worker.controller.type=lb worker.controller.balanced_workers=tomcat1,tomcat2 worker.controller.sticky_session=1 还有把你的apache的配置httpd.conf里面的日志打开 ErrorLog logs/error.log 可以看看日志报什么错误
先绅 2016-12-25
  • 打赏
  • 举报
回复
引用 6 楼 l414382964 的回复:
没看出什么大问题,这个是我的配置: httpd.conf: include conf/mod_jk.conf mod_jk.conf: LoadModule jk_module modules/mod_jk-apache-2.0.55.so JkWorkersFile conf/workers.properties JkMount /*.controller controller workers.properties: worker.list=controller,tomcat1,tomcat2 worker.tomcat1.port=8118 worker.tomcat1.host=localhost worker.tomcat1.type=ajp13 worker.tomcat1.lbfactor = 1 worker.tomcat2.port=8138 worker.tomcat2.host=localhost worker.tomcat2.type=ajp13 worker.tomcat2.lbfactor = 1 worker.controller.type=lb worker.controller.balanced_workers=tomcat1,tomcat2 worker.controller.sticky_session=1 可以正常使用的。 你微调下,最好把apache的日志分析下看看是什么问题
例如在哪里微调一下?
先绅 2016-12-25
  • 打赏
  • 举报
回复
引用 6 楼 l414382964 的回复:
没看出什么大问题,这个是我的配置: httpd.conf: include conf/mod_jk.conf mod_jk.conf: LoadModule jk_module modules/mod_jk-apache-2.0.55.so JkWorkersFile conf/workers.properties JkMount /*.controller controller workers.properties: worker.list=controller,tomcat1,tomcat2 worker.tomcat1.port=8118 worker.tomcat1.host=localhost worker.tomcat1.type=ajp13 worker.tomcat1.lbfactor = 1 worker.tomcat2.port=8138 worker.tomcat2.host=localhost worker.tomcat2.type=ajp13 worker.tomcat2.lbfactor = 1 worker.controller.type=lb worker.controller.balanced_workers=tomcat1,tomcat2 worker.controller.sticky_session=1 可以正常使用的。 你微调下,最好把apache的日志分析下看看是什么问题
你的意思是把我apache的配置文件换成你的这个?可是我的.so文件和你的名称不一样 我的配置好像就跟你的基本一样。
先绅 2016-12-25
  • 打赏
  • 举报
回复
大神们?都睡觉了?
加载更多回复(6)

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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