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下。

目录
相关文章
|
5月前
|
Windows
Windows无法连接到打印机,请检查打印机名并重试 - 配置Windows 共享打印机出错;
WIN7共享打印机无法被WIN11连接,出现错误代码0x0000011b或0x00000709,可能是系统版本不兼容所致。本文提供多个轻量级修复工具,无需安装,双击即用,专为解决此类小问题设计,操作简单,适合普通用户快速修复打印机连接异常。
790 0
|
6月前
|
网络安全 Windows
Windows IIS 10如何配置自签名SSL并实现自动跳转
本文记录了IIS配置自签名证书及HTTPS跳转的注意事项。包括解决443端口占用问题、URL Rewrite插件安装与配置、web.config修改方法,以及避免因旧教程导致的配置错误。
Windows IIS 10如何配置自签名SSL并实现自动跳转
|
6月前
|
C语言 图形学 Windows
Windows下安装和配置GTK4(基于CLion)
本文介绍了作者选择GTK作为C语言图形库的原因,包括代码简洁、控件丰富和界面美观,并分享了在Windows环境下通过MSYS2安装GTK4及在CLion中配置开发环境的详细步骤。
714 0
|
6月前
|
Windows
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
178 2
|
9月前
|
安全 Windows
“由于启动计算机时出现了页面文件配置问题,Windows在你的计算机上创建了一个临时页面文件。。。”的问题解决
本文主要介绍了因清理电脑垃圾文件时误删虚拟内存导致的Windows页面文件配置问题,并提供了详细的解决步骤。问题表现为开机后出现临时页面文件创建的提示弹窗。解决方法包括通过控制面板或快捷键进入高级系统设置,进而调整虚拟内存设置:进入性能选项中的虚拟内存栏,选择自动管理所有驱动器的分页文件大小,最后确认并重启计算机以恢复正常运行。
7292 5
“由于启动计算机时出现了页面文件配置问题,Windows在你的计算机上创建了一个临时页面文件。。。”的问题解决
|
Windows
Windows下版本控制器(SVN)- 配置版本库
Windows下版本控制器(SVN)- 配置版本库
80 0
|
7月前
|
安全 Shell 开发工具
Windows下使用git配置gitee远程仓库
就在前几天因为一些原因,我的电脑重装了系统,然后再重新配置git的环境的时候就遇到了一些小问题。所以我决定自己写一篇文章,以便以后再配置git时,避免一些错误操作,而导致全网搜方法,找对的文章去找对应的解决方法。下面为了演示方便就拿gitee来演示,不拿GitHub了写文章了。
356 0

推荐镜像

更多