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

[经验分享] apache tomcat ajp mod jk

[复制链接]

尚未签到

发表于 2018-11-18 10:47:42 | 显示全部楼层 |阅读模式
环境
  系统:centos 7.3
  Apache:2.4.27
  Modjk:1.2.42
  Tomcat:8.5
  Jdk:1.8.92
  Apr:1.6.2
  Apr-util:1.6.0
  
  关闭所有防火墙和selinux
systemctlstop firewalld
serviceiptables stop
setenforce0  

一、安装Apache
  1、     安装依赖
yum -y install wget gcc gcc-c++ncurses ncurses-devel cmake make perl bison openssl openssl-devel gcc* libxml2libxml2-devel curl-devel libjpeg* libpng* freetype* pcre-devel bzip2-devellibmcrypt-devel  libmhash  libexpat1 libexpat1-dev



  2、     安装apr
tar xzvf apr-1.6.2.tar.gz ;cdapr-1.6.2;
./configure--prefix=/usr/local/apr
make && make install



  3、     安装apr-util
tar xzvf apr-util-1.6.0.tar.gz ;cdapr-util-1.6.0
./configure--prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
make && make install



  4、     安装apache2.4
tar xzvf httpd-2.4.27.tar.gz ;cdhttpd-2.4.27

编译apache之前要把解压后的apr和apr-util复制一分到apache解压后的源码目录中的srclib子目录一,不然会报错。configure: error: BundledAPR requested but not found at ./srclib/. Download and unpack the correspondingapr and apr-util packages to ./srclib/.


cp -a apr-1.6.2httpd-2.4.27/srclib/apr
cp -a apr-util-1.6.0httpd-2.4.27/srclib/apr-util
./configure--prefix=/usr/local/apache --with-included-apr --enable-so--enable-deflate=shared --enable-expires=shared --enable-rewrite=shared--enable-static-support --with-mpm=worker --disable-userdir--enable-proxy-balancer --enable-proxy-http--enable-proxy-connect  --enable-proxy --enable-rewrite--enable-proxy-ajp
make && make install

    
  5、     安装mod jk
tar xzvftomcat-connectors-1.2.42-src.tar.gz ;cd tomcat-connectors-1.2.42-src/native
./configure--with-apxs=/usr/local/apache/bin/apxs
make && make install

二、安装Tomcat
  1、   安装jdk
rpm -ivhjdk-8u92-linux-x64.rpm

  2、   安装和配置tomcat
tar xzvfapache-tomcat-8.5.15.tar.gz -C /usr/local/

解压两个tomcat,分别命名为tomcat1  tomcat2
因为我们在同一台机上实验,所以要修改第二个tomcat的http和ajp端口,避免端口冲突。这里不再叙述
  修改server.xml如下几个地方
      

  这里添加一个tomcat1,作为等下mod jk转发的路由,另一台为tomcat2
     
  这里定义程序网站根目录
           

        这里定义日志和格式
  3、   启动tomcat
sh /usr/local/tomcat1/bin/catalina.sh start
sh /usr/local/tomcat2/bin/catalina.sh start

测试两个tomcat是否能正常访问,返回200为正常,也可用浏览测试。根据自己改的端口来测试。
curl -I192.168.2.72:8080
curl -I192.168.2.72:8180

三、配置Apache mod jk转发
  1、在httpd.conf中找到LoadModule添加
LoadModule jk_module modules/mod_jk.so
打开和添加如下两行,打开vhost和mod_jk的配置
Include conf/extra/httpd-vhosts.conf
Include conf/mod_jk.conf
  2、在apache的conf目录下创建mod_jk.conf
#cat mod_jk.confJkWorkersFileconf/workers.properties
JkLogFile/usr/local/apache/logs/jk.log
JkShmFile/usr/local/apache/logs/jk-runtime-status
JkLogLevelerror
JkLogStampFormat"[%d %H:%M:%S] "
JkOptions+ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat"%w  %V  %U%q %s  %T"  3、创建workers.properties文件
# cat workers.propertiesworker.list=controller,tomcat1,tomcat2
# tomcat1
worker.tomcat1.port=8009
worker.tomcat1.host=127.0.0.1
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=1
worker.tomcat1.connection_pool_size=500
worker.tomcat1.connection_pool_minsize=25
worker.tomcat1.connection_pool_timeout=300
worker.tomcat1.socket_timeout=20
worker.tomcat2.port=8109
worker.tomcat2.host=127.0.0.1
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1
worker.tomcat2.connection_pool_size=500
worker.tomcat2.connection_pool_minsize=25
worker.tomcat2.connection_pool_timeout=300
worker.tomcat2.socket_timeout=20
#========controllertomcat online =======
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1,tomcat2
worker.controller.sticky_session=1
worker.controller.connection_pool_size=1000
worker.controller.connection_pool_minsize=50
worker.controller.connection_pool_timeout=300
worker.controller.socket_timeout=20
  4、配置httpd-vhosts.conf

        ServerName www.yy.com
        DocumentRoot "/www/1"
        ErrorLog "logs/yy-error_log"
        CustomLog"logs/yy-access_log" common
        JkMount /*.html*    controller
        JkMount /*.tt*    controller
        JkMount /*.index*    controller
     
        AllowOverride none
        Options -Indexes
        AllowOverride All
        Require all granted
         
[root@node2 www]# ls
1  2
[root@node2 www]# ls *
1:
1.tt  index.html
2:
1.tt  index.html  /www/1和/www/2分别是tomcat1 和tomcat2的根目录。里面放置一样的文件名,但内容不同。然后刷新浏览器,看内容是否会不停变化,如果会就证明转发成功了。
        JkMount /*.html*    controller  这个是定义所有.html的请求都转发到tomcat处理,这里是实验,生产中应该把动太内容发给tomcat处理,如jsp等。




运维网声明 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-636505-1-1.html 上篇帖子: apache的扩展配置功能说明 下篇帖子: zabbix3.0.4 监控apache
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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