Linux中Apache+Tomcat+JK实现负载均衡配置

1、服务器安装 tomcat

2、服务器安装 apache  (httpd)


注意事项:

1、如果是手动编译apache的话,必须下载到服务器之后在编译,不能编译

     好了在上传到服务器。

2、apache tomcat 交互模块,mod_jk.so 也跟上面的一样。

3、如果选择的是 yum 安装 ,有可能缺少编译器 GCC、G++等,可以参考

https://codebeamer.com/cb/wiki/93719


3、负载均衡的概念,简单理解就是 apache 监听指定端口的所有请求,而且负责从指定的目录查找静态资源,如 js脚本,css样式文件等,而如果是 jsp 等动态生成的文件要交给tomcat处理,当然这些都是由配置而设定的。

4、具体详细步骤见以下链接:


http://blog.csdn.net/chaijunkun/article/details/6987443


5、httpd.conf 除了设置监听端口 Listen 80 端口之外,其它暂时可以不用去修改。

6、我的配置参考:

httpd.conf 文件里包含了另外一个配置文件:

#<VirtualHost *:80>
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>


#Include /etc/httpd/conf.d/mod_mono.conf
Include conf/app_njhw/httpd-vhosts-tomcat.conf   ---- (新加行)

      目录结构为:



cas.mapping.properties主要配置了资源类型

/* =tomcat8009
!/jk-status=tomcat8009
!/jk-manager=tomcat8009
!/excelTemplateFile/*.xls=tomcat8009
!/*.ico=tomcat8009
!/*/*.png=tomcat8009
!/*/*.jpg=tomcat8009
!/*/*.gif=tomcat8009
!/*/*.css=tomcat8009
!/*/*.js=tomcat8009

httpd-vhosts-tomcat.conf  虚拟主机配置

NameVirtualHost *:80

<VirtualHost *:80>
<Directory "/usr/local/webapps/cas">
   Options Indexes MultiViews FollowSymLinks
   AllowOverride None
   Order allow,deny
   Allow from all
</Directory>
    DocumentRoot "/usr/local/webapps/cas"
    ServerName 192.168.1.1 (ip地址或者是域名)
    ServerAlias http://192.168.1.1 (别名)
    JkMountFile conf/app_njhw/cas.mapping.properties
    ErrorLog "|/usr/sbin/rotatelogs /etc/httpd/logs/error-njhw-%Y-%m-%d-%H_%M_%S.log 5M"
    CustomLog "|/usr/sbin/rotatelogs  /etc/httpd/logs/access-njhw-%Y-%m-%d-%H_%M_%S.log 5M" common
</VirtualHost>


tomcat-workers.properties 跟apache关联的tomcat ,跟server.xml 里jvmRoute="tomcat8009"对应

# SERVER LIST
worker.list =tomcat8009,jk-manager,jk-status
# TOMCAT 8009
worker.tomcat8009.type =ajp13
worker.tomcat8009.host =localhost
worker.tomcat8009.port =8009

问题集锦:

1、配置正常、运行正常,但是 JS,CSS等静态资源无法加载,用firebug查看网络请求,发现所有请求后面都有类似jsessionid=5D438D45EF205A7109586F9A3AC54316.tomcat8009等的字段,这里的jsessionid为 URL 重写而成,tomcat8009是在tomcat/conf/server.xml里配置的jvmRoute名字。

如:<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat8009"> 

此时需要设置 httpd.conf 里 JkStripSession 属性为on JkStripSession On,问题解决。

顾名思义就是apache查找资源的时候忽略jsessionid这种后缀,这样请求路径就正常了。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值