apache + tomcat 整合 + tomcat集群 session共享

新手入门级别,自己搞了一下apache和tomcat的整合,

整理了一下笔记,希望能看到此笔记的人多多给予批评、纠正和优化

1.据说做apache和tomcat整合的时候,版本号会影响到整合的败,但是笔者只是在网上下载的apache2.0

(  httpd-2.0.64-win32-x86-no_ssl.msi   )版本,和apache-tomcat-7.0.26,JK用的是tomcat-connectors-1.2.37

(tomcat-connectors-1.2.37-windows-i386-httpd-2.0.x.zip)  环境是 windowXP下。

2.首先安装apache和tomcat(最安装在同一个根目录下),然后配置一下环境变量,具体步骤不做解释,然后解压缩jk连接器,只要其中的mod_jk.so即可。

3.准备工作完成。

4.两者之间的通信通过workers配置(由tomcat使用Server.xml中的Connector标签定义端口port和协议protocol,workers.properties文件中定义端口、协议、tomcat服务器地址);由mod_jk模块负责两者通信的处理。通信协议用jk(只是其中一种)。整个过程其实就是让apache的httpd.conf文件调用mod_jk.conf,mod_jk.conf调用workers.properties,最后配置虚拟主机。

5.打开apache下的conf目录下的httpd.conf文件,在文件末尾加入include "E:\Apache\Apache2\conf\mod_jk.conf"指定mod_jk.conf文件所在位置)。

6.编写mod_jk.conf文件

# Load mod_jk module加载 mod_jk 模块

LoadModule jk_module modules/mod_jk.so

# Where to find workers.properties

JkWorkersFile conf/workers.properties

# Where to put jk logs

JkLogFile 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\"

# Send servlet for context /examples to worker named ajp13

#JkMount /servlet/* ajp13

# Send JSPs for context /examples to worker named ajp13

JkMount /*.jsp ajp13

JkMount /*.do ajp13

JkMount /*/*.do ajp13

JkMount /*.action ajp13

JkMount /*/*.action ajp13
#############################
NameVirtualHost *:80

<VirtualHost *:80>

ServerAdmin webmaster@localhost

DocumentRoot "E:\apache-tomcat-7.0.26\webapps\examples"

ServerName localhost

ErrorLog logs/localhost-error_log

CustomLog logs/localhost-access_log common

</VirtualHost>

<VirtualHost *:80>

ServerAdmin webmaster@dummy-host.example.com

DocumentRoot "E:\apache-tomcat-7.0.26\webapps\examples"

ServerName 127.0.0.1


ErrorLog logs/foresee.com-error_log

CustomLog logs/foresee.com-access_log common

<Location /server-status>           # 这样我可以看到apache服务器状态

SetHandler server-status

#Order deny,allow

#Deny from all

#Allow from localhost

#Allow from 192.168.5.80

</Location>

</VirtualHost>
7.将mod_jk.so文件拷贝到apache下的 modules文件夹内

8.在apache下的conf文件夹内再创建workers.properties文件,配置如下内容

worker.list=ajp13

worker.ajp13.port=8009

worker.ajp13.host=localhost  #本机,若上面Tomcat主机不为localhost,作相应修改

worker.ajp13.type=ajp13  #类型

worker.ajp13.lbfactor=1  #代理数,不用修改

9.打开tomcat,在conf文件夹下找到server.xml文件,进行虚拟主机配置:

找到<Host name="localhost"  appBase="webapps"  unpackWARs="true" autoDeploy="true">

增加<Context path="" docBase="examples" />

<Host name="www.myself.com"  appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
            <Context path="" docBase="examples" />
</Host>

10.补充说明:

www.myself.com"-----------要在本地配置哦....windows---system32----drivers----host

docBase="examples"------你要访问的web工程

mod_jk.so ---------------------解压缩JK的压缩包就可以找到这个文件

ServerName 127.0.0.1-----服务器的所在地址

JkLogFile logs/mod_jk.log-------JK的日志文件存放位置


11.以上完成了apache和tomcat的整合工作。保存所有改动的文件,然后重新启动tomcat和apache,访问

localhost       localhost:8080    如果出现的是同一个地址,那么证明配置成功。


上一篇:丢失/root目录导致命令行-bash-4.1#,解决方法


下一篇:基于Spring Cloud微服务集群的服务治理思考