有时候需要在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. [Angular + Webpack] ocLazyLoad compoment

    $stateProvider .state('landing', { url: '/', views: { 'body@': { template: '<olr-landing></ ...

  2. java06switch

    public class SwitchTest { public static void main(String[] args) { /** * 如果第一名,参加麻省理工大学组织的1个月夏令营 * 如 ...

  3. codevs 2494 Vani和Cl2捉迷藏

    /* 一开始大意了 以为和bzoj上的祭祀是一样的(毕竟样例都一样) 这里不知相邻的点可以相互到达 间接相连的也可以到达 所以floyed先建立一下关系 再跑最大独立集 下面贴一下95 和 100的代 ...

  4. Asp.net中用户自定义控件 ascx的使用

    使用ascx目的就是为了提高某部分功能的重复利用,我简单通过源代码说一下对它的参数的输入和数出. 我们以省市区三级连动为例子. vs2005下ascx页面的代码: <table width=&q ...

  5. php 读xml的两种方式

    <?xml version="1.0" encoding="ISO-8859-1"?> <st> <stu> <nam ...

  6. 手机Web网站,设置拒绝电脑访问

    最近一段时间,都在使用Jquery-Mobile + MVC做手机Web,有一些心得.体会 下面介绍如何拒绝电脑访问手机网站 电脑的浏览器,跟手机的浏览器内核不一样,这是我设置拒绝访问的思路. 下面是 ...

  7. css动态样式

    一种 var style=document.createElement("style"); style.type="text/css"; style.appen ...

  8. C++程序设计教程学习(0)-引子

    回想一下从事C++相关开发工作已经有4年,主要从事基于MFC.Duilib等GUI框架开发进行windows应用程序开发,还涉及了一些开源的项目.但是真的谈起这门语言或多或少都会有些心虚,关于C++的 ...

  9. 3.2 GUN as汇编(本文内容大部分引用原文,非原创)

    as86汇编仅仅用于编译内核中的boot/bootsect.s引导扇区程序和实模式下的设置程序boot/setup.s.内核中其余所有汇编语言程序(包括C语言产生的汇编程序)均使用gas来编译,并与C ...

  10. 使用 HTTP 缓存机制提升系统性能

    摘要 HTTP缓存机制定义在HTTP协议标准中,被现代浏览器广泛支持,同时也是一个用于提升基于Web的系统性能的广泛使用的工具.本文讨论如何使用HTTP缓存机制提升基于Web的系统,以及如何避免误用. ...