Windows 下 Apache HTTP Server 安装、配置以及与 Tomcat 的整合(附图)
如果您能点开这篇文章,说明您已对熟悉Apache HTTP Server(下文用Apache简称)配置的重要性已很清楚了,本文不在赘述,直接介入正题,请往下阅读:
为便于阅读,列出文章目录:
一、Apache 的安装说明
二、Apache 的基本配置
三、Apache 整合 Tomcat 的配置
以下为正文内容:
一、Apache 的安装说明
1、首先打开Apache官网,进入Windows版本的下载地址页面:http://archive.apache.org/dist/httpd/binaries/win32/ 并选择2.2.22_no_ssl版本的msi安装包下载(高版本的截止到本文编写时还未官网还未提供msi安装包),如图:
下载好就可以开始安装了。
2、运行刚下载好的msi文件(httpd-2.2.22-win32-x86-no_ssl.msi),安装过程如下:
点击Next,继续:
上面的Network Domain、Server Name和Email Address三项内容如果是本机用于测试个人认为填什么都没有问题,但如果是真实的网络环境域名等参数是唯一的,应该如实填写,填好后点击 Next 继续:
此处选择Custom,可以自定义安装路径等,点击 Next 继续:
红框中的内容为Apache的安装路径,可以点击Change更改,其它信息默认,点击 Next 继续:
点击 Install 开始安装:
安装过程中会弹出几个CMD窗口,会自动关闭,不用管,最后:
点击 Finish 安装完成,开始运行里输入services.msc,即可看到Apache已经注册为Windows服务了:
Windows任务栏右下角也自动开启了Apache Monitor:,如果此时Apache服务没有自动启动或者启动Apache服务时弹出类似下图中的窗口:
说明Apache默认的 80 端口已被占用了。你可以关掉占用80端口的软件,也可以更改Apache的默认配置,使其监听其它端口即可。
二、Apache 的基本配置
打开 Apache 的安装目录,其主要配置都集中在conf文件夹下的 httpd.conf 文件中,位置如图所示:
用UltraEdit 或 Notepad++打开httpd.conf文件,从上往下阅读:
1、第35行,ServerRoot 为Apache的安装路径,这个了解就可以,不用管它;
2、第46行,Listen 80 指定了 80 为Apache的默认监听端口,这里我们改成 88,防止和其它占用80端口的软件冲突。改完后在启动Windows服务中启动它,此时可以看到没有报错窗口了。打开浏览器,地址栏中输入http://localhost:88 如果看到如下信息说明Apache已经正常安装并启动成功了:
3、第172行,ServerName 为之前安装时设置的DNS域名(如果没有域名就输入IP,记得跟上端口号),#号为注释,这里去掉#号,修改后的内容如下:
ServerName 127.0.0.1:88
修改完之后,先测试下配置是否正确:打开开始菜单-》所有程序,找到Apache HTTP Server 2.2 下的Test Configuration,并运行,如图:
如果弹出的CMD串口的内容为 Syntax OK 并一闪而过,说明配置是没有问题的;否则的话会提示出错信息并停留30后才自动关闭。
4、第179行,DocumentRoot 一般为js、css、html、png、gif、jpg等静态资源文件的存放目录,这里我们定义存放在D盘的Apache_Statics文件夹下。修改后的内容如下:
DocumentRoot "D:/Apache_Statics"
5、第193行,将 Deny from all 改成 allow from all 否则访问静态文件时页面会提示 Forbidden 禁止访问的信息。修改后的内容如下图:
6、第206行,Directory 修改成和 DocumentRoot 对应的值相同,修改后的内容如下:
<Directory "D:/Apache_Statics">
7、第219行,将 Options Indexes FollowSymLinks 注释掉,并在其下追加一行 Options None。作用和 Tomcat下的conf/web.xml中的 listings 设置成 false 一样,为了避免在浏览器中列出 服务端资源 的目录结构。
三、Apache 整合 Tomcat 的配置
Apache 可通过集成不同的模块来完成默认未提供的功能,如整合 Tomcat 就需要安装 mod_jk 这个模块。通过加载这个模块并进行相应的配置,即可实现 Apache 通过监听指定的端口(上面配置了 88 端口)来解析静态资源内容,动态资源内容如 jsp、servlet、action 则交给Tomcat来解析。具体说明如下:
1、先去官网下载mod_jk模块,地址:http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.31/ 选择最新版本的 mod_jk-1.2.31-httpd-2.2.3.so 下载;
2、将 mod_jk-1.2.31-httpd-2.2.3.so 文件拷贝到Apache安装目录的 modules 文件夹下,如下图:
3、在conf 文件夹(httpd.conf 所在的文件夹)新建一个 workers.properties 文件,内容如下图:
workers.tomcat_home 为 tomcat的安装路径;workers.java_home 为 jdk 的安装路径;mod_jk 一般 使用 ajp13 协议 与 tomcat 连接,默认使用8009端口,端口可以在Tomcat 的 conf/server.xml中查看,如下图:
4、在httpd.conf 的最末尾处 添加一段代码,如下图(红框内):
上述代码加载了 mod_jk 模块 和 workers.properties 文件,并定义了日志文件的输出位置(logs/mod_jk.log);ServerAdmin、DocumentRoot、ServerName和之前配置的相同即可;JkMount 指定了 那些路径 会通过 ajp13 协议 交给Tomcat 去处理,多个路径定义多个 JkMount ... ajp13 即可。这样以WEB-INF开头的或者以.action或.jsp结尾的或者以 servlet/ 开头的 URL 都会 交由 Tomcat 去解析。自此,Apache 与 Tomcat 整合完毕,通常情况下程序的静态资源部分部署到之前提到的D:\Apache_Statis文件夹下,而非静态资源则部署到Tomcat下。
先写到这里,后续会有另一篇博文介绍 Apache 防止DDos(拒绝服务攻击)的配置和 URL重写的例子。
转载于:http://blog.csdn.net/wqmain/article/details/8941759
Windows 下 Apache HTTP Server 安装、配置以及与 Tomcat 的整合(附图)的更多相关文章
- Linux下apache+phppgadmin+postgresql安装配置
Linux下apache+phppgadmin+postgresql安装配置 操作系统:CentOS 安装包:httpd(首选yum), php(包括php以及php-pgsql,php-mbstri ...
- windows下 apache 二级域名相关配置
小编今天给大家总结下 windows 下 apache的二级域名的相关配置 利用.htaccess将域名绑定到子目录 下面就利用本地127.0.0.1进行测试 我们这里以 www.jobs.com 为 ...
- windows下 apache 二级域名相关配置 【转】
转至: http://www.th7.cn/Program/php/201306/141305.shtml 今天给大家总结下 windows 下 apache的二级域名的相关配置 下面就利用本地127 ...
- Windows 下 Apache HTTP Server 与 Tomcat 的整合
整合准备: 1.Apache HTTP Server(下文用Apache简称) 2.Tomcat 7或8 3.mod_jk.so (tomcat-connectors)-这个文件是用来链接http s ...
- 死磕!Windows下Apache+PHP+phpmyadmin的配置
环境配置真的很烦很费时间,稍不小心就会出错,这是一个鸡肋体力劳动,耐心和忍耐少不了.这个资料已经非常详细了,其中变量和路径不是百分百吻合但是意思已经很清楚了.剩下的就是耐心的执行和琢磨了. 一. A ...
- windows下Apache的虚拟主机配置
1.Apache虚拟主机: 在Apache上有关于虚拟主机的具体说明,具体可以参考Apache手册,这里简单的说一下虚拟主机主要分为两种: 1.基于主机名的虚拟主机(一个IP地址,多个网站) 2.基于 ...
- Windows下MemCache多端口安装配置
Windows下MemCache环境安装配置的文章很多,但大部分都是用的默认端口11211,如何修改默认端口.如何在一台服务器上配置多个MemCache端口?这正式本文要解决的问题. 1.从微软官网下 ...
- windows下 berkerly db的安装配置(修正了关键步骤)
这个是我从别人的博客上找来的,亲测可用,确实解决了我当时遇到的一些问题. 首先,从http://www.oracle.com/technology/global/cn/software/product ...
- Windows下Apache+MySQL+PHP快速配置的几种方法
Apache MySQL PHP Windows WAMP 1.易思EasySiteServer服务器集成环境 v1.0 (推荐) 尔创互联为推广其ESPCMS而开发的一个小东东,很好用.零配置,完 ...
随机推荐
- 安卓tabhost和子Activity通信方法
发现很多同学在问这个问题 1个tabhost对应的类假设是T,假设包含2个子tab,每个是1个activity,假设叫a,b,对应的类假设是A和B 那么有这几个问题 1.a如何调用b的方法,或者说发送 ...
- java 数字补齐0
String str_f = str.substring(0, 1); int i = (Integer.parseInt(str.substring(1)) + 1); // 数字补齐0 Decim ...
- [C++程序设计]全局,局部变量
在函数声明中出现的参数名,其作用范围只在 本行的括号内.实际上,编译系统对函数声明中的 变量名是忽略的,即使在调用函数时也没有为它们 分配存储单元.例如 int max(int a,int b); ┆ ...
- wordpress教程之get_posts()
get_posts 介绍 June 3rd 2012 评论(16) get_posts 函数,简单的来讲是 get_post 的复数新形势,但因为是文章多篇提取,所以使用方法上却略有不同,支持众多参数 ...
- scheme 宏macro写法
scheme里的宏不同的实现有不同的写法: 1.mzscheme的define-macro (mzscheme也就是pltschme,也就是drracket,没有define-macro这个关键字) ...
- scheme递归
主要参考: http://www.shido.info/lisp/scheme7_e.html Function fact that calculates factorials. (define (f ...
- JavaEE Tutorials (28) - Duke书店案例研究示例
28.1Duke书店的设计和架构43828.2Duke书店接口439 28.2.1Book Java持久化API实体439 28.2.2Duke书店中使用的企业bean440 28.2.3Duke书店 ...
- 转:使用C#的HttpWebRequest模拟登陆网站
这篇文章是有关模拟登录网站方面的. 实现步骤: 启用一个web会话 发送模拟数据请求(POST或者GET) 获取会话的CooKie 并根据该CooKie继续访问登录后的页面,获取后续访问的页面数据. ...
- Linux系统编程(1)——文件与I/O之C标准I/O函数与系统调用I/O
Linux系统的I/O也就是一般所说的低级I/O--操作系统提供的基本IO服务,与os绑定,特定于Linux平台.而标准I/O是ANSI C建立的一个标准I/O模型,是一个标准函数包和stdio.h头 ...
- 百度地图LV1.5实践项目开发工具类bmap.util.jsV1.2
/** * 百度地图使用工具类-v1.5 * * @author boonya * @date 2013-7-7 * @address Chengdu,Sichuan,China * @email b ...