当前位置 主页 > 服务器问题 > Linux/apache问题 >

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

    栏目:Linux/apache问题 时间:2019-10-08 22:55

    一、简单介绍 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。

    具体的安装步骤可以参考这篇文章://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默认配置