AKever

导航

Apache + tomcat 整合

Apache + tomcat 整合

步骤:
① 安装apache
② 按照JDK //tomcat需要用的java
③ 安装tomcat
④ 安装apache与tomcat连接的模块
⑤ 测试

一.apache的安装

方法1:centos6.5(6.4)自带,不过不带apxs(apache扩展功能模块文件)

搭建yum本地源
  yum install -y httpd
  yum install -y httpd-devel
配置文件 /etc/httpd/conf/httpd.conf
网页位置 /var/www/html/
  vi /var/www/html/index.html
html 192.168.10.3
./service的路径在/sbin (如果识别不到就添加到幻境变量 /etc/profile) export $PATH:/sbin
  service httpd start/stop/restart 
测试浏览器访问//ip

方法2:官网下载离线包(httpd-2.2.0.tar.gz)安装; /usr/local/apache2为安装路径

# tar xzvf httpd-2.2.0.tar.gz
# cd httpd-2.2.0
# ./configure --prefix=/usr/local/apache2 --enable-so
# make
# make install

WARN:如果使用方法1安装或centos6.5自带,可能没有apxs,需要安装

# yum install httpd-devel

 

二、安装Tomcat

     安装tomcat比较简单,解压运行即可

# cp apache-tomcat-5.5.12.tar.gz /usr/local/
# cd /usr/local
# tar xzvf apache-tomcat-5.5.12.tar.gz
# ln -s apache-tomcat-5.5.12 tomcat   --创建软链接

主目录./bin下运行

./startup.sh
./shutdown.sh

 

三、编译生成mod_jk (注意apxs的路径和apache,module的路径)

# tar xzvf jakarta-tomcat-connectors-1.2.15-src.tar.gz
# cd jakarta-tomcat-connectors-1.2.15-src/jk/native
# ./configure --with-apxs=/usr/local/apache2/bin/apxs
# make
# cp ./apache-2.0/mod_jk.so /usr/local/apache2/modules/

四、配置

在/usr/local/apache2/conf/下面建立两个配置文件mod_jk.conf和workers.properties

# vi mod_jk.conf 及其文件内容

# vi mod_jk.conf
添加以下内容:
# 指出mod_jk模块工作所需要的工作文件workers.properties的位置
JkWorkersFile /usr/local/apache2/conf/workers.properties

# Where to put jk logs
JkLogFile /usr/local/apache2/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"

# 将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理
JkMount /servlet/* worker1
JkMount /*.jsp worker1

# vi workers.properties 及其内容

# vi workers.properties
添加以下内容:
# Defining a worker named worker1 and of type ajp13
worker.list=worker1

# Set properties for worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
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,作以下修改:

@1Listen 80 修改为 Listen 127.0.0.1:80ServerName 修改为 ServerName LocalHost:80

@2DirectoryIndex中添加 index.jsp

@3
我的网页放在/var/wwwroot下,所以要修改DocumentRoot,centos默认是"/var/www/html"
DocumentRoot "/var/wwwroot"
<Directory "/var/wwwroot">
    Options Includes FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all
    XBitHack on
</Directory>
<Directory "/var/wwwroot/WEB-INF">    
    Order deny,allow
    Deny from all
</Directory>

@4
增加关于加载mod_jk的语句:
LoadModule jk_module modules/mod_jk.so
Include /usr/local/apache2/conf/mod_jk.conf
#可以写全集路径,如:
Include /etc/httpd/conf/*.conf

配置Tomcat的server.xml

最后编辑Tomcat的配置文件server.xml,在HOST段中加入:
<Context path="" docBase="/var/wwwroot" debug="0" reloadable="true" crossContext="true"/>/var/wwwroot下建立一个index.jsp,启动Apache和Tomcat,用浏览器访问http://localhost/,应该可以看到正确的页面了。

以下是和apache连接的端口,已有,不需要修改,如果apache配置多个tomcat才需要,与上面的 workers.properties 文件配置对应

<!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
<Connector port="8009" enableLookups="false" redirectPort="8443" debug="0" protocol="AJP/1.3" />  

附:

如果需要参看文件路径

# which httpd

  

注意,如果apache还是访问jsp文件分发给Tomcat是没反应,有可能是以下原因

SELinux 开启,禁止了端口的数据传送,需要关闭, SELinux为linux安全机制

#找到selinux文件:
vi /etc/sysconfig/selinux
#修改为以下内容
SELINUX=disabled

 

  

--- THE END !! ---

 

 

 

posted on 2016-01-30 11:19  AKever  阅读(175)  评论(0)    收藏  举报