有时候需要在Web入口地址中隐藏非80端口,而最常见的方案是整合httpd和tomcat ,下面是通过mod_jk实现httpd和tomcat整合的详细流程,希望对大家有所帮助。

OS: CentOS5.7 X64

主要步骤:

1.   安装JDK

2.   安装httpd

yum install httpd
/etc/init.d/httpd start

http://localhost 看到欢迎界面

3. 安装 tomcat (十分简单)

  3.1官网下载apache-tomcat-7.0.42.tar.gz ,解压缩

tar –xzvf apache-tomcat-7.0.42.tar.gz
mv apache-tomcat-7.0.42/opt/tomcat7

  3.2vim ~/bash_profile  添加:

export TOMCAT_HOME=/opt/tomcat7

  3.3开启tomcat服务

$TOMCAT_HOME/bin/startup.sh

 3.4 http://localhost:8080 看到欢迎界面

4.  采用mod_jk方式整合httpd 和tomcat

4.1安装httpd-devel

安装成功后,会有/usr/sbin/apxs服务,mod_jk的编译依赖于apxs

yum install httpd-devel

4.2 安装mod_jk

apache 网下载 官 tomcat-connectors-1.2.37-src.tar.gz

http://tomcat.apache.org/download-connectors.cgi

安装tomcat-connectors (mod_jk)

tar -xzvftomcat-connectors-1.2.37-src.tar.gz
mv tomcat-connectors-1.2.37-src /opt/mod_jk
cd /opt/mod_jk/native
./configure--with-apxs=/usr/sbin/apxs --with-java-home=/opt/java
Make
Make install

复制mod_jk.so

cp/opt/mod_jk/native/apache-2.0/mod_jk.so /usr/lib64/httpd/modules/

4.3修改httpd的配置

4.3.1 创建workers.properties

vim  /etc/httpd/conf/workers.properties 添加以下内容:

# Defining a workernamed worker1 and of type ajp13
worker.list=worker1
# Set properties forworker1
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

4.3.2 创建 mod_jk.conf

vim  /etc/httpd/conf/mod_jk.conf 添加以下内容:

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 tosend SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat-ForwardDirectories
# JkRequestLogFormat setthe request format
JkRequestLogFormat"%w %V %T"
# 将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理
JkMount /servlet/* worker1
JkMount /*.jsp worker1

4.3.3 修改httpd.conf

vim httpd.conf 修改以下内容

ServerName修改为:ServerName 10.11.18.45:80
DirectoryIndex 行添加 index.jsp index.htm

添加以下内容,其中”/var/wwwroot”是你要发布的Web项目所在的父目录

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>

以下内容:添加

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

4.3.4 修改tomcat的配置

vim $TOMCAT_HOME/conf/server.xml

将 <Server …>部分 修改为
<Hostname="localhost" appBase="/var/wwwroot"
unpackWARs="true"autoDeploy="true">

4.3.5  restart httpd 和 tomcat

/etc/init.d/httpd restart
$TOMCAT_HOME/bin/shutdown.sh
$TOMCAT_HOME/bin/startup.sh

4.3.6 测试

在/var/wwwroot 目录下新建目录myproject,m yproject下新建index.jsp

<%@ page language="java" import="java.util.*"pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath =request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<basehref="<%=basePath%>">
<title>My JSP 'index.jsp' startingpage</title>
<meta http-equiv="pragma"content="no-cache">
<metahttp-equiv="cache-control" content="no-cache">
<meta http-equiv="expires"content="0">
<metahttp-equiv="keywords" content="keyword1,keyword2,keyword3">
<metahttp-equiv="description" content="This is my page">
<!--
<link rel="stylesheet"type="text/css" href="styles.css">
-->
</head>
<body>
Hello, I am mango_song ,this is my JSPpage. <br>
</body>
</html>

http://localhost/myproject 看到相应界面,至此httpd tomcat已经整合成功

Centos6 httpd与tomcat整合发布的更多相关文章

  1. httpd与tomcat基于mod_jk整合

    搞定在前面述, httpd与tomcat整合方式 当前已知的有 ajp_proxy,mod_jk.so jk connecteor连接器下载地址 http://archive.apache.org/d ...

  2. Apache Tomcat 整合

    Infi-chu: http://www.cnblogs.com/Infi-chu/ 一.Apache+Tomcat整合是什么: 1.Apache默认访问端口是80,Tomcat默认访问端口是8080 ...

  3. apache+tomcat整合后的编码问题

    apache+tomcat整合提供webserver服务的方式是为了实现两个目的:一是方便利用apache http server将客户请求均衡的分给tomcat1,tomcat2....去处理,即负 ...

  4. apache+tomcat整合

    一 .Apache与Tomcat的比较 apache支持静态页面,tomcat支持动态的,比如servlet等. 一般使用apache+tomcat的话,apache只是作为一个转发,对jsp的处理是 ...

  5. Apache与Tomcat整合

    Apache与Tomcat整合   一 Apache与Tomcat比较联系 apache支持静态页,tomcat支持动态的,比如servlet等. 一般使用apache+tomcat的话,apache ...

  6. apache httpd, nginx, tomcat, jboss

    web上的server都叫web server,但是大家分工也有不同的. nginx常用做静态内容服务和代理服务器(不是你FQ那个代理),直面外来请求转发给后面的应用服务(tomcat,django什 ...

  7. Apache与Tomcat整合(转)

    一 Apache与Tomcat比较联系 apache支持静态页,tomcat支持动态的,比如servlet等. 一般使用apache+tomcat的话,apache只是作为一个转发,对jsp的处理是由 ...

  8. tomcat整合apache

    历时4个多小时,终于把tomcat与apache整合起来了. 中间出了各种各样的问题,现记录一下,也希望能对后来者有点帮助. 背景 apache与tomcat的区别联系大家都知道: tomcat能处理 ...

  9. Jenkins+maven+Tomcat配置发布

    jenkins大多数情况下都是用来部署Java项目,Java项目有一个特点是需要编译和打包的,一般情况下编译和打包都是用maven完成,所以系统环境中需要安装maven. 实验环境: 10.0.0.1 ...

随机推荐

  1. 第一章:在IDEA里搭建基于Forge的Minecraft mod开发环境

    <基于1.8 Forge的Minecraft mod制作经验分享> 网上关于Forge开发环境搭建的文章其实有不少,但大都是基于Eclipse的. 作为用Java开发的环境,怎么能没有ID ...

  2. 配置ISCSI服务器

    一.在linux下安装启动iscsi target 1.安装启动iscsi服务 [root@wjb10000 ~]# yum -y install targetcli.noarch 2.建立一个目录设 ...

  3. php 时间转换

    在数据库读出的数据,都是字符类型的,所以需要转换: 时间的转换:用date ()函数来实现时间格式; date() 函数默认时间是1970/01/01/ 00:00:00; 要想得到想要的时间就还得用 ...

  4. ListActivity ListView 使用 介绍 用法

    ListActivity简单的说就是ListView和Activity的结合,跟ListView和Activity组合实现的没有什么很大的差别,主要是比较方便. 在实现时,要注意: 1.一般情况,Li ...

  5. javascript:运动框架

    function startMove(obj,json,fnEnd) { clearInterval(obj.timer);//清除定时器 obj.timer=setInterval(function ...

  6. JS判断图片是否加载完成三种方式

    1.img的complete属性 轮询不断监测img的complete属性,如果为true则表明图片已经加载完毕,停止轮询.该属性所有浏览器都支持. <p id="p1"&g ...

  7. Xcode 7 warnings: object file was built for newer iOS version than being linked

    编译之后出现: ld: warning: object file xxxxx... was built for newer iOS version (8.1) than being linked (7 ...

  8. PHP XML Expat 解析器

    PHP XML Expat 解析器 内建的 Expat 解析器使在 PHP 中处理 XML 文档成为可能. XML 是什么? XML 用于描述数据,其焦点是数据是什么.XML 文件描述了数据的结构. ...

  9. [转]Windows环境下利用“共享内存”实现进程间通信的C/C++代码---利用CreateFileMapping和MapViewOfFile

    http://blog.csdn.net/stpeace/article/details/39534361 进程间的通信方式有很多种, 上次我们说了最傻瓜的“共享外存/文件”的方法. 那么, 在本文中 ...

  10. Oracle数据库之PL/SQL流程控制语句

    Oracle数据库之PL/SQL流程控制语句 在任何计算机编程语言(如C,Java,C#等)都有各种流程控制语句,同样,在PL/SQL中也存在这样的流程控制结构. 几种常见的流程控制结构: 一.条件结 ...