ubuntu 下 apache+tomcat整合_(mod-jk方法)

ubuntu 下 apache+tomcat整合_(mod-jk方法)

整合的平台是Centos5环境如下:
apache源代码包: httpd-2.2.11.tar.gz  下载地址http://labs.xiaonei.com/apache-mirror/httpd/httpd-2.2.11.tar.gz

tomcat二进制代码包: apache-tomcat-6.0.18.tar.gz 二进制代码包下载地址:

http://apache.mirror.phpchina.com/tomcat/tomcat-6/v6.0.18/bin/apache-tomcat-6.0.18.tar.gz

JDK 二进制代码包: jdk-6u11-linux-i586-rpm.bin  下载地址:

http://java.sun.com/javase/downloads/index.jsp

下面是安装步骤:
需要安装Gcc编译环境,这个在上面的文章里已经介绍过,这里不再赘述。
第一步;安装JDK
         # mount /dev/cdrom /media/

         # cd /media/
         # cp jdk-1_5_0-linux-i586-rpm.bin /usr/local/src/
         # cd /usr/local/src/
         # chmod 755 jdk-1_5_0-linux-i586-rpm.bin
         # ./jdk-1_5_0-linux-i586-rpm.bin
  Do you agree to the above license terms? [yes or no]
此时选择yes,
安装成功,可以看到/usr/java/jdk 1.5.0/     目录
配置环境变量:cp /etc/profile /etc/profile.bak

vim /etc/profile

在最后添加:

export JAVA_HOME=/usr/java/jdk1.5.0

export JAVA_BIN=/usr/java/jdk1.5.0/bin

export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH==.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME JAVA_BIN PATH CLASSPATH

source /etc/profile

第二步:安装 tomcat 非常简单:#cd /usr/local/src
#cp /media/apache-tomcat-6.0.18.tar.gz /usr/local/src

 #tar xvfz /media/apache-tomcat-6.0.18.tar.gz

 

启动 tomcat : /usr/local/tomcat6/bin/startup.sh

停止 tomcat : /usr/local/tomcat6/bin/shutdown.sh

第三步:安装 apache

# cd /usr/local/src
#cp /media/httpd-2.2.11.tar.gz  /usr/local/src
#tar xvfz httpd-2.2.11.tar.gz

 #cd httpd-2.2.11/

 #mkdir /usr/local/apache2

# ./configure –prefix=/usr/local/apache2 –enable-so

# make

 #make install

 安装完毕!

开始作tomcat6.0+apache2.2的整合了

第一步是修改httpd.conf 这个全局设定档。

cd /usr/local/apache2/conf/

cp http.conf http.conf.bak

vim http.conf

ServerName 配置为 127.0.0.1:80,服务器IP或域名

DirectoryIndex 中添加index.htm index.jsp

:wq 保存后退出

此时可启动apache2.0服务器了

采用:/usr/local/apache2/bin/apachectl start

输入:http://127.0.0.1/

你就会看到 It works!

这个测试成功的界面。

启动tomcat 采用:/usr/local/tomcat6/bin/startup.sh

输入:http://127.0.0.1:8080/

你就会看到tomcat 的测试页面

第二步是下载和编译mod_jk.so 这个连接tomcat和apache.的连接文件。

照样也是在http://tomcat.apache.org 这个网站上下载的源代码安装包:tomcat-connectors-1.2.27-src.tar.gz

首先: mkdir /usr/source.bao

     #cp /media/tomcat-connectors-1.2.27-src.tar.gz /usr/source.bao

      #cd /usr/local/src

      #tar xvfz /usr/source.bao/tomcat-connectors-1.2.27-src.tar.gz

      #cd tomcat-connectors-1.2.27-src/

      注意里面有一个BUILD.txt 仔细阅读它

      然后 cd native/

      #vim BUILDING.txt  仔细阅读它

      然后输入采用: 
      # ./configure –with-apxs=/usr/local/apache2/bin/apxs  –with-java-home=/usr/java/jdk1.6.0_11

      #make
      #make isntall

      #cp apache-2.0/mod_jk.so /usr/local/apache2/modules/  

     这一步很重要

  

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

      vim 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

vim 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

再配置httpd.conf,作以下修改:

将Listen 80 修改为 Listen 127.0.0.1:80

将ServerName 修改为 ServerName LocalHost:80

我的网页放在/var/wwwroot下,所以要修改DocumentRoot

添加代码:

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>

增加关于加载mod_jk的语句:

添加代码:

LoadModule jk_module modules/mod_jk.so

Include /usr/local/apache2/conf/mod_jk.conf

最后编辑Tomcat的配置文件server.xml,在HOST段中加入:

<Context path=”” docBase=”/var/wwwroot”

      debug=”0″ reloadable=”true” crossContext=”true”/>

在/var/wwwroot下建立一个test.jsp,启动Apache和Tomcat,用浏览器访问http://localhost/,应该可以看到正确的页面了。

 

test.jsp 的例子

Hello! The time is <%= new java.util.Date() %>

输入http://127.0.0.1/test.jsp

你会看到:Hello! The time is Mon Jan 19 21:29:38 CST 2009

OK 你成功了!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/110828.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 从零开始搭二维激光SLAM — 前言[通俗易懂]

    从零开始搭二维激光SLAM — 前言[通俗易懂]我眼中的SLAM从最开始接触SLAM已经3年了,从二维激光SLAM到三维激光SLAM,再到视觉SLAM,都有一些接触,现将简单梳理一下SLAM的各个模块的功能以及实现方式,为本系列文章起到个总领作用。1SLAM是什么SLAM(simultaneouslocalizationandmapping)的中文翻译为同步定位与地图构建。目的有2个,一个是进行定位,一个是进行周围环境的地图的构建,二者相互依赖,只有同时进行求解才能够解决这个问题。为什么一定要同时进行求解呢?人通过眼睛,通过手部等肢体

  • 编程实现strstr函数「建议收藏」

    编程实现strstr函数「建议收藏」函数接口为:char*mystrstr(char*str1,char*str2)要求:在字符串str1中查找第一次出现字符串str2的位置,如果找到匹配的字符串,返回第一次匹配的指针,否则返回NULL。#include&lt;iostream&gt;usingnamespacestd;char*mystrstr(char*str1,char*str2){ char*p,*q;…

  • epoll、poll、select的原理和区别

    epoll、poll、select的原理和区别一、什么是epoll?epoll是一种I/O事件通知机制,是linux内核实现IO多路复用的一个实现。IO多路复用是指,在一个操作里同时监听多个输入输出源,在其中一个或多个输入输出源可用的时候返回,然后对其的进行读写操作。epoll有两种工作方式,ET-水平触发和LT-边缘触发(默认工作方式),主要区别是:LT,内核通知你fd是否就绪,如果没有处理,则会持续通知。而ET,内核只通知一次。二、epoll的三个函数intepoll_create(intsize)size参数告诉内核这

    2022年10月31日
  • Mac下Sublime插件安装和使用「建议收藏」

    Mac下Sublime插件安装和使用「建议收藏」一.SublimeText安装官方地址二.在SublimeText中安装PackageControl地址把下载下来的PackageControl.sublime-package文件copy到Subime安装路径InstalledPackages目录下,然后重启三.安装常用插件command+shift+p调出命令行面板输入packagecontrol:in…

  • 为什么要分用户态和内核态_会导致用户进程用户态到内核态

    为什么要分用户态和内核态_会导致用户进程用户态到内核态在计算机系统中,通常运行着两类程序:系统程序和应用程序,为了保证系统程序不被应用程序有意或无意地破坏,为计算机设置了两种状态:系统态(也称为管态或核心态),操作系统在系统态运行——运行操作系统程序 用户态(也称为目态),应用程序只能在用户态运行——运行用户程序在实际运行过程中,处理机会在系统态和用户态间切换。相应地,现代多数操作系统将CPU的指令集分为特权指令和非特权指令两类。1)…

  • android的toast提示_android studio unknown host

    android的toast提示_android studio unknown host相信很多人遇到过这关问题编码的设置问题但是我要说的并不是这个问题 而是系统自动弹出的toast 醉了这特么谁看得懂 后来经过观察发现是权限的问题如果需要获取权限但是没有处理的话默认是会弹出这个提示 因此首先要检查是否拥有该权限如果拥有再搞事情,如果没有就申请权限/*********获取设备id的权限检查*********/if(islacksO

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号