首页 > Web开发 > 详细

CentOS下Apache+Tomcat整合

时间:2015-11-24 13:02:59      阅读:419      评论:0      收藏:0      [点我收藏+]

一、下载相关软件包

下载jdk

# wget 
http://download.oracle.com/otn-pub/java/jdk/8u60-b27/jdk-8u60-linux-x64.rpm?AuthParam=1443611456_fa9cf3c3ff6845d1bcd351d6983780a8

②下载tomcat

# wget http://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.0.26/bin/apache-tomcat-8.0.26.tar.gz


③下载mod_jk

# wget http://apache.fayea.com/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.41-src.tar.gz


④下载httpd

# yum install -y httpd  httpd-devel apr apr-util-devel autoconf libtool


二、安装jdk

# rpm -ivh jdk-8u60-linux-x64.rpm

技术分享

# vi /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/jdk1.8.0_60
export PATH=$PATH:$JAVA_HOME/bin
# . /etc/profile.d/java.sh
# java -version
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

技术分享


二、安装tomcat

# tar -zxvf apache-tomcat-8.0.26.tar.gz
# mkdir /usr/local/tomcat
# mv apache-tomcat-8.0.26/* /usr/local/tomcat/
# catalina.sh start          ##开启tomcat
# catalina.sh stop           ##关闭tomcat

技术分享

# ss -tlnp             ##查看tomcat是否启动
# getenforce 0
# systemctl stop firewalld
# vi /etc/profile.d/tomcat.sh
export CATALINA_HOME=/usr/local/tomcat
export PATH=$PATH:$CATALINA_HOME/bin
# . /etc/profile.d/tomcat.sh


三、测试tomcat

①浏览器输入http://localhost:8080

技术分享


# cd /usr/local/tomcat/webapps/ROOT/
# echo "hello,tomcat" > index.html


②浏览器输入http://localhost:8080/index.html


技术分享

③浏览器输入http://localhost:8080/tomcat.jsp

# cd /usr/local/tomcat/webapps/ROOT/
# vi tomcat.jsp                                  ##新建测试页1
Now time is: <%=new java.util.Date() %>


技术分享


④浏览器输入http://localhost:8080

# cd /usr/local/tomcat/conf/ 
# vi server.xml                                     ##更改默认host
103     <Engine name="Catalina" defaultHost="www.zhi.com" jvmRoute="TomcatZHI">
<Host name="www.zhi.com"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
     <Contest path="" docBase="webapps" reLoadable="true" />
</Host>
# catalina.sh configtest                     ##测试语法
# cd /usr/local/tomcat/webapps/ROOT
# mv index.jsp index.jsp.bak
# vi index.jsp                                 ##新建测试页2
<%@ page language="java" %>
<html>
  <head><title>TomcatZHI</title></head>
  <body>
    <h1><font color="red">TomcatZHI </font></h1>
    <table align="centre" border="1">
      <tr>
        <td>Session ID</td>
    <% session.setAttribute("abc","abc"); %>
        <td><%= session.getId() %></td>
      </tr>
      <tr>
        <td>Created on</td>
        <td><%= session.getCreationTime() %></td>
     </tr>
    </table>
  </body>
</html>
# catalina.sh start                    ##开启tomcat

技术分享


四、编译安装mod_jk

# tar -zxvf tomcat-connectors-1.2.41-src.tar.gz
# cd tomcat-connectors-1.2.41-src
# cd tomcat-connectors-1.2.41-src/native
# ./buildconf.sh
buildconf: checking installation...
buildconf: autoconf version 2.69 (ok)
buildconf: libtool  version 2.4.2 (ok)
buildconf: libtoolize --automake --copy
buildconf: aclocal
buildconf: autoheader
buildconf: automake -a --foreign --copy
buildconf: autoconf
# ./configure --with-apxs=/usr/bin/apxs
# make
# make install


出现的错误1:

# ./buildconf.sh 
buildconf: checking installation...
buildconf: autoconf not found.
           You need autoconf version 2.59 or newer installed
           to build mod_jk from SVN.

解决:

# yum install autoconf


出现的错误2:

# ./buildconf.sh
buildconf: checking installation...
buildconf: autoconf version 2.69 (ok)
buildconf: libtool not found.
           You need libtool version 1.4 or newer installed
           to build mod_jk from SVN.

解决:

# yum install libtool


五、配置Apache与Tomcat整合

①配置mod_jk配置文件

# vi /etc/httpd/conf/mod_jk.conf
JkWorkersFile /etc/httpd/conf/workers.properties   ##加载tomcat works配置文件
JkLogFile  logs/mod_jk.log                     ##日志文件
JkLogLevel warn                             ##日志级别
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"             ##日志数据格式
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories     ##其他配置项
JkRequestLogFormat "%w %V %T"              ##请求日志的格式
JkMount  /servlet/* worker1      
JkMount  /*.jsp worker1       ##JkMount用于控制URL与Tomcat workers的对应关系,JkMount表示用tomcat来解析,JkUnMount则相反


②配置tomcat配置文件

# vi /etc/httpd/conf/workers.properties
#
# workers.properties                            ##可配置多实例
#
worker.list=worker1
worker.worker1.type=ajp13                   ##worker的类型为ajp13
worker.worker1.host=127.0.0.1                 ##worker的主机(IP)
worker.worker1.port=8009                      ##worker的端口
worker.worker1.lbfactor=5                       ##worker负载均衡


③配置httpd配置文件

# vi /etc/httpd/conf/httpd.conf
#
# Dynamic Shared Object (DSO) Support
#
LoadModule jk_module modules/mod_jk.so
Include /etc/httpd/conf/mod_jk.conf

ServerName www.zhi.com:80

# service httpd configtest                       ##测试语法


六、测试整合效果

①直接输入http://localhost查看

技术分享

httpd默认进入的是Apache的index.html页面


②输入http://localhost/inedex.jsp(不加8080端口)查看

技术分享



③输入http://localhost/tomcat.jsp(不加8080端口)查看

技术分享


tomcat已与Apache整合好了!



输入http://localhost时出现:

Service Unavailable

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.


①原因1:SELinux问题

解决:

# setenforce 0                    ##或设置selinux为enabled(需重启生效)


②原因2:在httpd中默认索引页面设置中添加了index.jsp也会造成503错误

<IfModule dir_module>
    DirectoryIndex index.jsp index.htm index.html
</IfModule>

解决:去掉index.jsp即可


附:tomcat主要文件简单解释

bin-----启动和关闭tomcat的脚本文件

conf-----存放tomcat的各种全局配置文件,以server.xml和web.xml最重要

lib-----存放tomcat所需的各种JAR文件

logs-----存放tomcat执行时的日志

temp-----存放临时文件

webapps-----tomcat的web目录

work-----存放JSP编译后产生的class文件


本文出自 “记事本” 博客,请务必保留此出处http://wangzhijian.blog.51cto.com/6427016/1716257

CentOS下Apache+Tomcat整合

原文:http://wangzhijian.blog.51cto.com/6427016/1716257

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!