CentOS下整合Apache与Tomcat的一种方法

在这里我所用的配置如下:

  • CentOS:7.4
  • Apache:2.4.6
  • Tomcat:8.5.30
  • JDK:openjdk 1.8
  • Tomcat connectors:1.2.43

整合前所需要做的准备工作包括:

  • 安装JDK并配置环境变量
  • 安装Apache并测试通过
  • 安装Tomcat并测试通过

上述的安装配置过程不再赘述,下面从安装Tomcat connectors开始:

  1. 整合Apache与Tomcat有多种方法,这里选择比较方便的也是比较常用的做法:通过Tomcat connectors进行两者间的链接。下载Tomcat connectors,地址
  2. 安装。通常把下载好的安装包放在/usr/local目录下并解压,解压完成后可删除该安装包,进入安装包目录下的native目录下进行配置、编译并安装
    [root@271d5811ce45 local]# tar -zxvf tomcat-connectors-1.2.43-src.tar.gz  
    [root@271d5811ce45 local]# cd tomcat-connectors-1.2.43-src/native/
    [root@271d5811ce45 native]# ./configure --with-apxs=/usr/local/apache2/bin/apxs [root@271d5811ce45 native]# make [root@271d5811ce45 native]# make install
  3. 上述步骤完成后在native/apache-2.0目录下会产生一个mod_jk.so文件,把这个文件复制到Apache目录下的modules目录下
    [root@271d5811ce45 apache-2.0]# cp mod_jk.so /etc/httpd/modules/
  4. 在Apache的相关目录(我放在了/etc/httpd/conf)下创建mod_jk.conf和workers.properties文件

    mod_jk.conf:

    #LoadModule jk_module modules/mod_jk.so                        
                                                                   
    JkWorkersFile /etc/httpd/conf/workers.properties               
                                                                   
    # Where to put jk logs                                         
    JkLogFile /etc/httpd/logs/mod_jk.log                           
                                                                   
    # Set the jk log level [debug/error/info]                      
    JkLogLevel info                                                
                                                                   
    # Select the log format                                        
    JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"                      
                                                                   
    # JkOptions indicate to send SSL KEY SIZE,                     
    JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
    # JkRequestLogFormat set the request format                    
    JkRequestLogFormat "%w %V %T"                                  
                                                                   
    JkMount /*WEB-INF worker1                                      
    JkMount /*.action worker1                                      
    JkMount /*.jsp worker1                                         
    JkMount /application/* worker1                                 
    JkMount /*.do worker1                                          
    JkMount /*.class worker1                                       
    JkMount /*/servlet/*  worker1                                  

    workers.properities:

    # Defining a worker named worker1 and of type ajp13
    worker.list=worker1
    
    # Set properties for worker1
    worker.worker1.port=8009
    worker.worker1.host=localhost
    worker.worker1.type=ajp13
    worker.worker1.lbfactor=50
    worker.worker1.cachesize=10
    worker.worker1.cache_timeout=600
    worker.worker1.socket_keepalive=1
    worker.worker1.socket_timeout=300

    然后在Apache的配置文件中导入这两个模块,在httpd.conf文件的末尾加入以下内容:

    LoadModule jk_module modules/mod_jk.so
    Include /etc/httpd/conf/mod_jk.conf

  5. 至此完成了配置部分,重启Apache服务
    [root@271d5811ce45 conf]# systemctl restart httpd
    在Apache的项目资源路径下添加一个hello.jsp页面进行验证(我们设Apache和Tomcat共享同一个项目路径)
    <html>
    <head><title>Hello</title></head>
    <body>
    <%
    java.util.Date currentTime = new java.util.Date();
    %>
    <%=currentTime%>
    </body>
    </html>

    访问该jsp页面:

    该路径下的静态页面:

    至此动态和静态页面成功实现分离。

猜你喜欢

转载自www.cnblogs.com/liesun/p/9046657.html
今日推荐