一、简单介绍 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 下载:
Tomcat 7.0 下载:
JDK 6 下载:
mod_jk.mo 连接包下载:
三、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。
httpd.conf 是Apache的主要配置文件,在Apache 安装完成后,可尝试打开 “/Apache 2.2/conf/httpd.conf ” 文件进行修改,下面是 Apache 的常用配置:
1 ServerRoot "C:/Program Files/Apache Software Foundation/Apache2.2" 2 # 定义配置文件、日志文件等的根目录,通常为Apache2.2安装的要目录 3 45 ThreadsPerChild 250 6 MaxRequestsPerChild 0 7 8 #9 # ....... 10 # 11 #12 # ....... 13 # 14 # Apache 支持MPM多路处理模块,MPM是一种多进程与多线程相混合的模式 15 # Apache 为 Unix、OS/2、BeOS 系统定义了 perwork、worker、beos 等多种模式 16 # 但在Windows下只支持winnt模式 17 # ThreadPerChild 定义常用线程数、MaxRequestsPerChild 定义最多线程数 18 19 Listen 8000 20 # 设置 Apache 的监听路径,一般默认为127.0.0.1:80端口,但由于80经常被IIS等进程所占用, 21 # 建设改用另一个端口,此处使用8000端口 22 23 LoadModule actions_module modules/mod_actions.so 24 LoadModule alias_module modules/mod_alias.so 25 LoadModule asis_module modules/mod_asis.so 26 LoadModule auth_basic_module modules/mod_auth_basic.so 27 # LoadModule auth_digest_module modules/mod_auth_digest.so 28 .......... 29 .......... 30 # 设置模块处理 31 3233 38 # 如果你想使httpd以另外的用户或组来运行,你必须在开始时以root方式启动 39 # 然后再将它切换为你想要使用的用户或组。 40 41 ServerAdmin leslies2@163.com 42 # 定义管理员邮箱,当Apache出错时将把错误信息发到此地址 43 ServerName 127.0.0.1 44 # 如果你的主机没有注册DNS名,在这里键入它的IP地址 45 46 DocumentRoot "E:/Apache Webs" 47 # 定义发布文件的根目录 4834 User daemon 35 Group daemon 36 3749 Order deny,allow 50 Deny from all 51 52 # 为特定的目录配置一组默认指令,禁止访问根目录的文件 53 54 55 Order deny,allow 56 57 # 允许客户访问WebSite1下的目录 58 59 ErrorLog "logs/error.log" 60 # ErrorLog:错误日志文件定位。 61 LogLevel warn 62 # LogLevel:控制记录在错误日志文件中的日志信息数量。 63 # 包括:debug,info,notice,warn,error,crit,alert,emerg。 64 65 66 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined 67 LogFormat "%h %l %u %t \"%r\" %>s %b" common 68 73 # 日志访问格式设置 74 7569 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio 70 71 CustomLog "logs/access.log" common 7276 ScriptAlias /cgi-bin/ "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin/" 77 78 # 设定默认CGI脚本目录及别名 79 8081 AllowOverride None 82 Options None 83 Order allow,deny 84 Allow from all 85 86 # 设定默认CGI脚本目录的属性 87 88 DefaultType text/plain 89 # 设定默认MIME内容类型 9091 TypesConfig conf/mime.types 92 AddType application/x-compress .Z 93 AddType application/x-gzip .gz .tgz 94 95 # 指定MIME类型映射文件 96 9798 SSLRandomSeed startup builtin 99 SSLRandomSeed connect builtin100 101 # SSL默认配置
完成配置后,启动Apache 2.2,在 "E:\\Apache Webs\WebSite1" 添加静态页面 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 的常用设置:
1 2 67 8 9 10 11 12 13 14 15 21 2320 24 25 27 5030 31 32 34 35 37 4938 41 4240 44 4847
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 文件,输入以下内容。1 workers.tomcat_home=C:\Program Files\Apache Software Foundation\Tomcat 7.0 2 #让 mod_jk 模块感知 Tomcat 3 workers.java_home=C:\Program Files\Java\jdk1.6.0_30\jre 4 #让 mod_jk 模块感知 jre 5 ps=\ 6 #指定文件路径分割符 7 worker.list=config1 8 worker.config1.port=8009 9 #工作端口,此端口应该与server.xml中Connector元素的 AJP/1.3 协议所使用的端口相匹配10 worker.config1.host=localhost11 #Tomcat服务器的地址12 worker.config1.type=ajp1313 #类型14 worker.config1.lbfactor=115 #负载平衡因数
注意:
worker.list=config1中,conifg1为自定义名称,但此名称必须与下文所述的 “/Apache 2.2/conf/httpd.conf ” 文件中 ,JkMount 指令对应的名称相匹配。
加入workers.properties 文件后,可修改 “/Apache 2.2/conf/httpd.conf ” 文件,加入以下配置。
注意 JkMount 指令中的变量必须与worker.list 所配置的名称相同。1 # 设置虚拟主机,定义端口为8000 23 ServerName 127.0.0.1 4 #定义服务名称 5 DocumentRoot "C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps" 6 #定义站点项目所在路径,把路径指向 tomcat 中的默认网站目录 7 DirectoryIndex index.html index.htm index.jsp 8 ErrorLog logs/shsc-error_log.txt 9 CustomLog logs/shsc-access_log.txt common10 #例子1,让 Apache 支持对webapps/sun.shop/blog 中页面传送11 JkMount /sun.shop/blog/* config112 #例子2,向Apache请求此文件夹内页面时,系统将转向用Tomcat解析13 JkMount /*.jsp config114 #例子3,向 Apache 请求jsp页面时,用 Tomcat 进行解析15 JkMount /*.do config116 #例子4,向 Apache 请求.do 动作时, 用 Tomcat 进行解析17 JkMount /*.action config118 #例子5,向 Apache 请求 .action 动作时, 用 Tomcat 进行解析19 20 21 # 允许客户端访问此路径2223 Options Indexes FollowSymLinks 24 AllowOverride None 25 Order allow,deny 26 Allow from all 27 28 29 LoadModule jk_module modules/mod_jk.so30 # 此处 mod_jk.so 文件为你下载的文件31 JkWorkersFile "C:/Program Files/Apache Software Foundation/Tomcat 7.0/conf/workers.properties"32 # 指定tomcat监听配置文件地址33 JkLogFile "C:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/mod_jk2.log"34 # 指定日志存放位置35 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群: 共同探讨 !
服务类工具的应用与管理
from:http://www.cnblogs.com/leslies2/archive/2012/07/23/2603617.html