win7下Apache2.2+Tomcat7.0整合配置详解

一、简单介绍 Apache、Tomcat

Apache HTTP Server(简称 Apache),是 Apache 软件基金协会的一个开放源码的网页服务器,可以在 Windows、Unix、Linux 等操作系统中运行是最流行的Web服务器软件之一。Apache 反应速度快,运行效率高,但只支持HTML等静态页面(加载插件后也可支持 PHP 页面)。
Apache Tomcat 是由 Apache 软件基金协会与 Sun 公司联合开发的一款Web服务器,它除了支持HTML等静态页面外,还支持JSP、Servlet 。
在相同的运行环境下,Tomcat 对静态页面的反应速度没有 Apache 灵敏,整合 Apache 与 Tomcat 能使系统运行于一个良好环境下,提高系统效率。

二、软件包下载

运行环境:Windows 7

Apache 2.2 下载:http://httpd.apache.org/download.cgi

Tomcat 7.0 下载:http://tomcat.apache.org/download-70.cgi

JDK 6 下载:http://www.oracle.com/technetwork/java/javase/downloads/index.html

mod_jk.mo 连接包下载:http://apache.etoak.com//tomcat/tomcat-connectors/jk/binaries/windows/

三、JDK 安装

JDK (Java Development Kit) 是 Sun 针对Java开发员的产品,是现今使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境和基础类库等。常用版本包括 JDK 6、JDK 7、JDK 8。

成功安装 JDK 6 后,必须设置环境变量,让系统感知并能调用 JDK 6。

打开 “控制面板 --> 系统安全 --> 系统 --> 高级系统设置 --> 环境变量”,增加以下配置 :

变量 说明
java_home C:\ jdk1.6.0_30 写入JDK安装的路径
Path ;%java_home%\bin 在Path原有值上加入此值
classpath ;%java_home%\lib\dt.jar;%java_home%\lib\tools.jar 在classpath的原有值上加入此值

四、Apache 2.2 安装

运行 Apache 2.2 安装包, 在安装过程可以设置域名、服务器名称和端口,Apache的默认端口为80。

具体的安装步骤可以参考这篇文章:http://www.jb51.net/article/52086.htm

httpd.conf 是Apache的主要配置文件,在Apache 安装完成后,可尝试打开 “/Apache 2.2/conf/httpd.conf ” 文件进行修改,下面是 Apache 的常用配置:

ServerRoot "C:/Program Files/Apache Software Foundation/Apache2.2"
# 定义配置文件、日志文件等的根目录,通常为Apache2.2安装的要目录

<IfModule mpm_winnt.c>
  ThreadsPerChild 250
  MaxRequestsPerChild 0
</IfModule>
# <IfModule prefork.c>
#   .......
# </IfModule>
# <IfModule worker.c>
#  .......
# </IfModule>
# Apache 支持MPM多路处理模块,MPM是一种多进程与多线程相混合的模式
# Apache 为 Unix、OS/2、BeOS 系统定义了 perwork、worker、beos 等多种模式
# 但在Windows下只支持winnt模式
# ThreadPerChild 定义常用线程数、MaxRequestsPerChild 定义最多线程数

Listen 8000
# 设置 Apache 的监听路径,一般默认为127.0.0.1:80端口,但由于80经常被IIS等进程所占用,
# 建设改用另一个端口,此处使用8000端口

LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
# LoadModule auth_digest_module modules/mod_auth_digest.so
..........
..........
# 设置模块处理

<IfModule !mpm_netware_module>
  <IfModule !mpm_winnt_module>
     User daemon
     Group daemon
  </IfModule>
</IfModule>
# 如果你想使httpd以另外的用户或组来运行,你必须在开始时以root方式启动
# 然后再将它切换为你想要使用的用户或组。

ServerAdmin leslies2@163.com
# 定义管理员邮箱,当Apache出错时将把错误信息发到此地址
ServerName 127.0.0.1
# 如果你的主机没有注册DNS名,在这里键入它的IP地址

DocumentRoot "E:/Apache Webs"
# 定义发布文件的根目录
<Directory />
  Order deny,allow
  Deny from all
</Directory>
# 为特定的目录配置一组默认指令,禁止访问根目录的文件

<Directory “E:/Apache Webs/WebSite1”/>
  Order deny,allow
</Directory>
# 允许客户访问WebSite1下的目录

ErrorLog "logs/error.log"
# ErrorLog:错误日志文件定位。
LogLevel warn
# LogLevel:控制记录在错误日志文件中的日志信息数量。
# 包括:debug,info,notice,warn,error,crit,alert,emerg。

<IfModule log_config_module>
  LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
  LogFormat "%h %l %u %t \"%r\" %>s %b" common
  <IfModule logio_module>
   LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
  </IfModule>
  CustomLog "logs/access.log" common
</IfModule>
# 日志访问格式设置

<IfModule alias_module>
  ScriptAlias /cgi-bin/ "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin/"
</IfModule>
# 设定默认CGI脚本目录及别名

<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin">
  AllowOverride None
  Options None
  Order allow,deny
  Allow from all
</Directory>
# 设定默认CGI脚本目录的属性

DefaultType text/plain
# 设定默认MIME内容类型
<IfModule mime_module>
  TypesConfig conf/mime.types
  AddType application/x-compress .Z
  AddType application/x-gzip .gz .tgz
</IfModule>
# 指定MIME类型映射文件

<IfModule ssl_module>
  SSLRandomSeed startup builtin
  SSLRandomSeed connect builtin
</IfModule>
# SSL默认配置

完成配置后,启动Apache 2.2,在 "E:\\Apache Webs\WebSite1" 添加静态页面 index.html。
最后打开 http://localhost:8000/index.html,测试 Apache 2.2 能否正常运行。

五、Tomcat 7 安装

运行 Tomcat 7 安装包,完成安装后,打开 “控制面板 --> 系统安全 --> 系统 --> 高级系统设置 --> 环境变量”,增加以下配置 :

变量
tomcat_home C:\Program Files\Apache Software Foundation\Tomcat 7.0
Path ;%tomcat_home%\lib;%tomcat_home%\lib\servlet-api.jar;%tomcat_home%\lib\jsp-api.jar

在 Tomcat 的目录下,conf 文件夹中包含 Tomcat 的核心配置,logs 文件夹包含 Tomcat 的日志记录 , webapps 文件夹是 Tomcat 的默认网站存放目录。

在conf 文件夹的 server.xml 是 Tomcat 最为重要的配置,下面是 server.xml 的常用设置:

<?xml version='1.0' encoding='utf-8'?>
 <!-- Server 属性说明
   port:指定一个端口,这个端口负责监听关闭Tomcat的请求
   shutdown:向以上端口发送的关闭服务器的命令字符串
 -->
 <Server port="8006" shutdown="SHUTDOWN">
  <!--定义多个监听-->
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <Listener className="org.apache.catalina.core.JasperListener" />
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
  <!--定义共用资源-->
  <GlobalNamingResources>
   <Resource name="UserDatabase" auth="Container"
        type="org.apache.catalina.UserDatabase"
        description="User database that can be updated and saved"
        factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
        pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>
  <!--<Service>元素由org.apache.catalina.Service接口定义,它包含一个<Engine>元素,
  以及一个或多个<Connector>,这些Connector元素共享用同一个Engine元素-->
  <Service name="Catalina">
   <!--<Connector>元素代表与客户程序交换信息,它可以接收客户的请求,并向客户返回响应结果-->
   <!--定义HTTP协议的处理方式,处理接口默认为8080
      由于此接口经常被其他应用程序调用,建议修改接口-->
   <Connector port="8081" protocol="HTTP/1.1"
        connectionTimeout="20000"
        redirectPort="8443" />
   <!--定义AJP/1.3协议的处理方式,此为整合 Tomcat+Apache 的核心协议,请慎重处理 -->
   <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
   <!--每个<Service>元素只能包括一个<Engine>元素.
     <Engine>元素处理在同一个<Service>中所有<Connector>元素接收到的客户请求-->
   <Engine name="Catalina" defaultHost="localhost">
    <!-- Realm是一个存储用户名,密码以及和用户名相联系的角色的”数据库”
      用户名,密码可以用来验证用户对一个或多个web应用程序的有效性。-->
    <Realm className="org.apache.catalina.realm.LockOutRealm">
     <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
        resourceName="UserDatabase"/>
    </Realm>
    <!--<Host>元素定义了一个虚拟主机,它可以包含一个或多个Web应用-->
    <Host name="localhost" appBase="webapps"
       unpackWARs="true" autoDeploy="true">
     <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
        prefix="localhost_access_log." suffix=".txt"
        pattern="%h %l %u %t "%r" %s %b" />
    </Host>
   </Engine>
  </Service>
 </Server>

Tomcat 默认使用8080端口处理HTTP请求(因为此端口经常被其他应用程序调用,建议修改)。
完成设置后,输入地址localhost:8080 就可看到 Tomcat 的管理页面。

可以在 webapps 目录下新建 index.jsp 页面,启动 Tomcat ,测试 Tomcat 能否正常运行。

六、整合 Apache+Tomcat

在 Apache、Tomcat 都能正常运行的情况下,把 mod_jk.mo 拷贝到 "/Apache2.2/modules"
在 “/Tomcat 7.0/conf ” 文件夹下增加 workers.properties 文件,输入以下内容。

workers.tomcat_home=C:\Program Files\Apache Software Foundation\Tomcat 7.0
#让 mod_jk 模块感知 Tomcat
workers.java_home=C:\Program Files\Java\jdk1.6.0_30\jre
#让 mod_jk 模块感知 jre
ps=\
#指定文件路径分割符
worker.list=config1
worker.config1.port=8009
#工作端口,此端口应该与server.xml中Connector元素的 AJP/1.3 协议所使用的端口相匹配
worker.config1.host=localhost
#Tomcat服务器的地址
worker.config1.type=ajp13
#类型
worker.config1.lbfactor=1
#负载平衡因数

注意:

worker.list=config1中,conifg1为自定义名称,但此名称必须与下文所述的 “/Apache 2.2/conf/httpd.conf ” 文件中 ,JkMount 指令对应的名称相匹配。

加入workers.properties 文件后,可修改 “/Apache 2.2/conf/httpd.conf ” 文件,加入以下配置。
注意 JkMount 指令中的变量必须与worker.list 所配置的名称相同。

# 设置虚拟主机,定义端口为8000
 <VirtualHost 127.0.0.1:8000>
   ServerName 127.0.0.1
   #定义服务名称
   DocumentRoot "C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps"
   #定义站点项目所在路径,把路径指向 tomcat 中的默认网站目录
   DirectoryIndex index.html index.htm index.jsp
   ErrorLog logs/shsc-error_log.txt
   CustomLog logs/shsc-access_log.txt common
   #例子1,让 Apache 支持对webapps/sun.shop/blog 中页面传送
   JkMount /sun.shop/blog/* config1
   #例子2,向Apache请求此文件夹内页面时,系统将转向用Tomcat解析
   JkMount /*.jsp config1
   #例子3,向 Apache 请求jsp页面时,用 Tomcat 进行解析
   JkMount /*.do config1
   #例子4,向 Apache 请求.do 动作时, 用 Tomcat 进行解析
   JkMount /*.action config1
   #例子5,向 Apache 请求 .action 动作时, 用 Tomcat 进行解析
 </VirtualHost>

 # 允许客户端访问此路径
 <Directory "C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps">
   Options Indexes FollowSymLinks
   AllowOverride None
   Order allow,deny
   Allow from all
 </Directory> 

 LoadModule jk_module modules/mod_jk.so
 # 此处 mod_jk.so 文件为你下载的文件
 JkWorkersFile "C:/Program Files/Apache Software Foundation/Tomcat 7.0/conf/workers.properties"
 # 指定tomcat监听配置文件地址
 JkLogFile "C:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/mod_jk2.log"
 # 指定日志存放位置
 JkLogLevel info

注意:

JkMount /*.jsp config1 指令代表当客户端向 Apache 发送 *.jsp 页面请求时,把处理指向 Tomcat。当使用 Struts时建议使用 *.action、*.do等后缀命名动作,否则若使用无后缀命名时,加入 JkMount /* config1命令,Apache 则会把包括 *.html等静态页面所有请求,都转向 Tomcat。

完成以上配置后,重启 Apache、Tomcat。此时 Apache、Tomcat 的默认目录为 “C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps ”,对HTTP请求,Apache 使用8000端口,Tomcat 使用 8081 端口。在默认目录下加入index.jsp 页面后,直接向 Apache 发送 http://localhost:8000/index.jsp 页面请求,可见 Apache 会把请求转向 Tomcat 进行处理。
对JAVA开发有兴趣的朋友欢迎加入QQ群:174850571 共同探讨 !

(0)

相关推荐

  • 图解Linux下安装Tomcat服务器

    图解Linux下安装Tomcat服务器的具体过程,供大家参考,具体内容如下 上传Tomcat服务器: 首先,需要下载Tomcat-上传到服务器. 安装Tomcat服务器 解压tomcat服务器压缩包 现在已经在java目录下了. tar zxvf apache-tomcat-7.0.72.tar.gz 解压成功了: 配置环境变量 tomcat服务器运行时是需要JDK支持的,所以必须配置好JDK用到的那些环境变量 cd /etc/ ls #显示目录下所有文件及文件夹 编辑/etc下的profile

  • Ubuntu 16.04安装Apache Tomcat的方法

    Apache Tomcat是Java Servlet和Java Server Pages技术的开源软件实现. 可以使用OpenJDK tomcat运行你的Java应用. Apache Tomcat安装 从Ubuntu软件库安装Tomcat: apt-get install tomcat8 您可能还需要安装tomcat8-docs,tomcat8-examples和tomcat8-admin工具,这些工具提供了文档,测试和允许您基于Web的应用程序管理Tomcat. 您可以使用以下命令安装所有这三

  • 关于 Tomcat进程意外退出的问题解析

    节前某个部门的测试环境反馈tomcat会意外退出,我们到实际环境排查后发现不是jvm crash,日志里有进程销毁的记录,从pause到destory的整个过程: org.apache.coyote.AbstractProtocol pause Pausing ProtocolHandler org.apache.catalina.core.StandardService stopInternal Stopping service Catalina org.apache.coyote.Abstr

  • Tomcat 7通过设置不同的端口部署两个项目

    这篇文章介绍的方法是通过添加一个不同的端口号方式来实现.方法如下: 1.修改../tomcat/conf/server.xml,原有代码如下: <Service name="Catalina"> <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/> <

  • win7下Apache2.2+Tomcat7.0整合配置详解

    一.简单介绍 Apache.Tomcat Apache HTTP Server(简称 Apache),是 Apache 软件基金协会的一个开放源码的网页服务器,可以在 Windows.Unix.Linux 等操作系统中运行是最流行的Web服务器软件之一.Apache 反应速度快,运行效率高,但只支持HTML等静态页面(加载插件后也可支持 PHP 页面). Apache Tomcat 是由 Apache 软件基金协会与 Sun 公司联合开发的一款Web服务器,它除了支持HTML等静态页面外,还支持

  • linux下安装Nginx1.16.0的教程详解

    因为最近在倒腾linux,想安装新版本的nginx,找了一圈教程没有找到对应的教程,在稍微倒腾了一会之后终于成功的安装了最新版. 服务器环境为centos,接下来是详细步骤: 安装必要依赖插件 yum install -y gcc gcc-c++ pcre \ pcre-devel zlib zlib-devel openssl openssl-devel wget 创建文件夹并切换过去 mkdir /customer && cd /customer 下载安装包 (同样如果想安装其他的版本

  • Android+OpenCV4.2.0环境配置详解(Android studio)

    仅是个人记录,希望能对有需要的给予一些小小的帮助 首先我们肯定是要去到OpenCV的官网下载对应的SDK,并解压得到文件夹(opencv-4.2.0-android-sdk) 其次是NDK环境搭建(双击shift,输入sdk,找到sdk manager,将下面红色框框勾选安装) 创建项目,我选用的是(并不是只有这一选择) 导入Module File->New->Import Module 路径选择**\opencv-4.2.0-android-sdk\OpenCV-android-sdk\sd

  • VS2019+Opencv4.0+Win10配置详解

    一.下载OpenCV4.0的安装文件: OpenCV官网 然后安装到你想要的地方 二.添加到Path里面: 并且把文件opencv_world400.dll和opencv_world400d.dll文件复制到   C:\Windows\SysWOW64这个文件夹: 三.配置Vs2019环境(OpenCV4.0只能用x64配置) 1.在把opencv的include添加到Include Directories和vc15\lib添加到Library Directories 2.在把opencv_wo

  • win10+VS2017+Cuda10.0环境配置详解

    一.安装 1.1硬件支持 首先确定你的电脑显卡是支持Cuda安装的. 右键"我的电脑",然后点击"设备管理器".在显示适配器里可以查看显卡型号. 如果包含在官网列表 中,则可以点击对应的型号到下载界面下载Cuda安装包. 1.2 安装VS2017 官网下载VS2017,并安装. 1.3 安装Cuda 在安装过程中,会自动检测本机是否已经安装了配套的VS版本其中之一,如果VS版本和Cuda版本不匹配的话,安装无法进行. ( 另外,如果电脑安装了360杀毒的话,安装过程

  • springboot2.5.0和redis整合配置详解

    基本概况 为什么使用缓存 缓存是在内存中存储的数据备份,当数据没有发生本质变化时 就可以直接从内存中查询数据,而不用去数据库查询(在磁盘中) CPU读取内存的速度要比读取磁盘快,可以提高效率 Redis缓存 Remote Dictionnary Server(远程数据服务),是一款内存高速缓存数据库. 五种常用数据类型: String(字符串).List(列表).Set(集合).Hash(散列).ZSet(有序集合) 可持久化:一边运行,一边向硬盘备份一份,防止断电等偶然情况,导致内存中数据丢失

  • Nginx环境下WordPress的多站点功能配置详解

    WordPress的多站点功能允许安装一个WordPress程序的情况下,实现多个站点(也就是一套程序,可以绑定多个域名或子域名). 每个站点拥有独立的主题.插件.文章以及页面. 这样可以极大的减少了维护和更新多个WordPress安装程序的麻烦, 并且,每个站点之间又能够相互独立,互不影响. WordPress multisite有两个方式:子目录和子域名,这里我们主要介绍子域名方式. 也就是说,在主域名的基础上,我们会创建一个子域名,例如:http://shop.jb51.com. 同时,我

  • maven项目下solr和spring的整合配置详解

    前言: solr和spring整合其实很简单,只要注意导入依赖的配置文件即可.废话不多说,上代码. 第一步:编写maven项目的pom文件,导入依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM

  • Nginx下Frp强制重定向为https配置详解

    迫于家里的路由将300M的带宽强行降到80M的速度,所以入手了一个3205U的软路由,果真没有令人失望,速度飞起O(∩_∩)O哈哈~ 当然,由于宽带没有公网IP所以DDNS就不能使用,转而使用frp,在折腾的过程中踩到了一些坑,所以记录下来,希望能帮助有需要的同学. frps.ini(服务端配置) [common] bind_port = 5443 kcp_bind_port = 5443 vhost_http_port = 8080 vhost_https_port = 4443 # Frp的

  • Centos 5.2下安装多个mysql数据库配置详解

    一.编译安装第一个MySQL 5.1.33 cd /opt /usr/sbin/groupadd mysql /usr/sbin/useradd -g mysql mysql -s /bin/nologin -d /usr/local/mysql tar -zxvf mysql-5.1.33.tar.gz cd mysql-5.1.33/ ./configure --prefix=/usr/local/mysql/ --enable-assembler --with-extra-charsets

随机推荐