设为首页 收藏本站
查看: 551|回复: 0

[经验分享] 配置 Apache + JK +Tomcat

[复制链接]

尚未签到

发表于 2016-12-30 10:36:38 | 显示全部楼层 |阅读模式
  刚完成的一个项目需要用到 Apache ,所以在工作中自己配置了一把,虽然网上这样的资料搜索一下有很多,不过在实际的操作过程当中还是遇到了一些问题,在此略作记录.
  在 Tomcat 前面加一个 Apache 的主要好处有3点:
  1.提升对静态文件的处理性能
  2.利用 Web 服务器来做负载均衡以及容错
  3.无缝的升级应用程序
  4. 利用丰富的 Apache 自身拥有的各种模块.
Apache的安装
     官方地址: http://httpd.apache.org/
  Windows: 在window 下安装还是比较简单的,一路setup 即可.
  Linux:  在linux 下面安装需要自己编译一下,所以安装环境中需要有编译工具.
  安装步骤如下:
  1.下载最新的源码包到环境中(以2.2.13为例), 解压到当前目录.
  2. 解压后的包名一般为 [httpd-*.*.** ] ('*'为版本号这里为 httpd-2.2.13 ),进入此包.
  3. 需要执行 ./configure 对源码进行配置, 这里主要的2个参数是指定安装路径 与 指定初始化的模块了.
  为了省事我们可以安装所有的模块,具体模块的取舍情况根据个人需要而定,可以参考 Apache 参考文档安
  装编译部分.
                样例

               ./configure --prefix=/opt/program/apache2 --enable-mods-shared=all
  --prefix 参数指定了安装的路径.
  --enable-mods-shared 指定了安装的 Apache 模块 all 为所有模块都安装.
  4. 待 configure 执行完成后, 执行 [ make install  ]即可以进行安装,这里会根据具体设置稍微慢一些.
  安装完成后会在 --prefix 指定的目录中看到 安装好的 Apache.
  5. 可以启动 Apache 进行一下验证.
Tomcat 安装
        官方网址 http://tomcat.apache.org/
  Windows  和 Linux 直接解压即可
JK 安装
       官方网址 http://tomcat.apache.org/connectors-doc/
  Windows:  在window下可以直接下载已经编译好的 二进制版本,需要注意的是,JK的下载二进制版本都会
  在下载文件名种标明一个支持的 Apache 版本,针对此文中Apache 版本(2.2.13),JK对应的文件
  名称为,[mod_jk-1.2.28-httpd-2.2.3.so ], 虽然版本号不是一一对应的但经过我的试用是可
  以直接使用在 apache-2.2.13 版本上面.
  Linux   : Linux下 就不是那么幸运的了,虽然官方上面也有对应的二进制版本下载,当经过测试之后(至少在我的
  linux) 上面是不能正常启动,报的错误片段如下:
写道
httpd: Syntax error on line 107 of /opt/apache2/conf/httpd.conf: Cannot load /opt/apache2/modules/mod_jk-1.2.28-httpd-2.2.X.so into server: /opt/apache2/modules/mod_jk-1.2.28-httpd-2.2.X.so: wrong ELF class: ELFCLASS32

  所以还是要自己手动编译一下,这个也是比较简单滴,步骤如下:
  1.下载最新的源码包到本地,解压后进入native 目录.
  2. 配置源码,需要指定 Apache 中的 apxs 程序的路径.

                 ./configure --with-apxs=/opt/apache2/bin/apxs
  3.make 一下如果没有错误提示的话,在native 目录下会生成 apache-2.0 文件夹,mod_jk.so就在这个
  文件下.
  安装 JK : 在获得 mod_jk.so 之后将它 copy 到 apache 安装目录下的 modules文件夹.
  修改 Apache 的 配置文件(httpd.conf),使Apache 启动的时候加载 JK 模块.
                 写道

               #load jk
                LoadModule jk_module modules/mod_jk.so

  启动 Apache 测试一下是否有问题.
配置 Apache 
  1. 测试 Apache 与Tomcat 单独启动 没有任何问题.
   2.在 Apache 的配置文件目录(conf) 新建文件workers.properties 内容如下:
#
# workers.properties
#
# list the workers by name
# 指定起作用的 Tomcat 实例 多个的话用 ‘,’ 分隔
worker.list=s1,jkstatus

# port 参数指定接收请求的Tomcat 端口, 注意这个端口为Tomcat 配置的 AJP/1.3 的端口.
worker.s1.port=8020

#host 指定了 Tomcat 监听的IP地址
worker.s1.host=127.0.0.1

#协议类型
worker.s1.type=ajp13
worker.jkstatus.type=status

  3.修改 Apache 的配置文件 在文件的最底部 加入一些 JK参数,内容如下
#
# Configure mod_jk
#
JkMount           /Tomcat_Request/* s1    #此参数指定那些请求会被Apache 转给Tomcat 处理.
JkWorkersFileconf/workers.properties
JkLogFile        logs/mod_jk.log
JkRequestLogFormat      "%w %V %T"
JkLogLevel  info
  4.启动 Apache 后可以向 Apache 监听的端口发送请求 在Tomcat 中的部署的工程,一次来测试是否成功.
总结
  从我的亲身经历来看,如果是简单的配置的话,是比较容易上手的,我在配置的过程当中有2个地方稍微卡了下,第一个是
  在Linhux 下编译 Apache 与 JK 的时候,有些触头,因为要在Linux下编译源代码,不过在实际操作之后才发现原来是那么
  简单,第二点就是最后配置JK 的时候那个 [worker.*.port  ]参数配置,我一直都是向 Apache HTTP/1.1发送.改过来之后一切就OK了 ,其他的问题就没有了.
  需要说明的是 此篇文档主要目的是说明 Apache + JK + Tomcat 的配置说明, 所以在此只是简单介绍了Apache 及JK 的一些必要参数,而且是相当粗略的. 所以如果你在实际的生产环境当中可以根据自己需要进行更多配置.尤其是对于Apache 的配置 是需要下一些功夫来进行研究的.
参考资源
  Apache2.2 文档中文版 -- 非常感谢 金步国 同志

  http://lamp.linux.gov.cn/Apache/ApacheMenu/index.html       
  Apache HTTP Server 与 Tomcat 的三种连接方式介绍   
  http://www.ibm.com/developerworks/cn/opensource/os-lo-apache-tomcat/
  JK HowTo     
  http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html
  Apache 2.2 Docuemnt
  http://httpd.apache.org/docs/2.2/

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-321545-1-1.html 上篇帖子: Apache与Tomcat关系 下篇帖子: windows apache 配置多个服务 站点 Apache Service Monitor
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表