Apache+Tomcat服务器简单集成

要求:

PHP服务器,两个Tomcat服务器。不做负载平衡。

安装 :

1、Apache安装略过。

2、Apache+PHP略过。

3、Apche+2Tomcat配置。ajp13协议,需要下载tomcat连接器:mod_jk.so (注意:需要与Apache,Tomcat版本匹配,否则你就惨了)。

配置:

1、在Apache\conf下配置httpd.conf

在http.conf中配置,mod_jk

配置如下:
#加载mod_jk
LoadModule jk_module modules/mod_jk.so

#配置
<IfModule mod_jk.c>

#设置mod_jk的配置
JkWorkersFile conf/workers.properties

#设置日志位置  
JkLogFile logs/mod_jk.log        

#设置日志级别      
JkLogLevel info                        
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
</IfModule>

#注释不能与配置在同一行,会报如下图错误。我就掉这个坑花了点时间。

JkWorkersFile conf/workers.properties  #设置mod_jk的配置

如果向上面这样,它把注释也看作了一个参数了。所以报错。

2、在Apache\conf下新建一个配置文件。名称必须是:workers.properties。配置内容如下:

#让mod_jk模块知道Tomcat的安装路径
workers.tomcat_home="D:/cdjhserver/apache-tomcat8081,D:/cdjhserver/apache-tomcat-8.5.32"
  
#让mod_jk模块知道jdk路径
workers.java_home="C:/Java/jdk1.7.0_07"

#当前目录
ps=/

#这里是关键,名字要和httpd.conf的一致。如果这里改了httpd.conf也要改
worker.list=tom8080,tom8081

#工作端口,tomcat的jk监听端口,可以查看Server.xml中有port="8009"
worker.tom8080.port=8009

#Tomcat所在机器,如果安装在与apache不同的机器则需要设置IP
worker.tom8080.host=localhost

#协议类型,不能改变,会出问题
worker.tom8080.type=ajp13

#负载平衡因子
worker.tom8080.lbfactor=1

#======第二个tomcat==========
worker.tom8081.port=8010

worker.tom8081.host=localhost

worker.tom8081.type=ajp13

worker.tom8081.lbfactor=1

#===end====================

特别注意:

1、workers.properties文件编码。里面不能出现不认识的字符。

2、配置属性和值,只能是字母和数字。

3、属性值后面不能有空格。我在这儿栽过,会报下在的错误:

mod_jk.log报错:
[Sat Jan 12 11:55:48.158 2019] [17844:31268] [error] wc_create_worker::jk_worker.c (138): Unknown worker type ajp13    for worker tom8080
[Sat Jan 12 11:55:48.158 2019] [17844:31268] [error] build_worker_map::jk_worker.c (261): failed to create worker tom8080

3、Apache\conf\httpd.conf里面配置主机:

#第一个主机tom8080

<VirtualHost *:80>

DocumentRoot 【你的项目路径】

ServerName XXX.XXX.com

DirectoryIndex index.jsp index.html index.html.var index.php

#以下根据自己的情况确定
JkMount /*WEB-INF tom8080
JkMount /*.jsp tom8080
JkMount /servlet/* tom8080
JkMount /*.do tom8080
JkMount /*.action tom8080
JkMount /Javenmy/* tom8080

</VirtualHost>

#第二个主机tom8081

<VirtualHost *:80>

DocumentRoot D:/phpStudySpace/demojeecg

ServerName demo.cdjh.com.cn

DirectoryIndex index.jsp index.html index.html.var index.php
JkMount /*WEB-INF tom8081
JkMount /*.jsp tom8081
JkMount /servlet/* tom8081
JkMount /*.do tom8081
JkMount /*.action tom8081
JkMount /Javenmy/* tom8081

</VirtualHost>

4、配置Tomcat\conf\server.xml

注意:两个Tomcat同时运行,需要注意端口配置不同。有这几个:8080(启动),8009(ajp连接),8005(tomcat关闭),8443(ajp转发)。

配置环境变量,两个tomcat配置须不同。再修改tomcat启动startup.bat,shutdown.bat,catalina.conf文件中的 Tomcat_HOME,Tomcat_Base与你配置的环境变量一致,目的:启动和关闭时找到各自的配置,使两个Tomcat各自能独立运行。

Tomcat的其他配置略过。

打开server.xml配置文件,找到AJP/1.3的连接配置。如下:

配置:<Engine name="Catalinademo" defaultHost="demo.cdjh.com.cn" jvmRoute="tom8081">

jvmRoute的值要和你在workers.properties中的worker.list属性值里面名称一致。

两个Tomcat都配置好后,配置就结束了。

分别启动两个tomcat,再启动Apache。

如果不能正常运行,就查看日志,看错误在哪儿 。

遇到的几个错误截图(这几个错误在上面都已说到):

错误一:

错误二:

让查看mod_jk.log日志文件,结果如下 :

这个错,是因为ajp13后面有空格。错误时是这样:“ajp13    ”。

猜你喜欢

转载自blog.csdn.net/sclibingqing/article/details/86356093
今日推荐