本章详细描述了httpd.conf文件的组成和配置过程,之所以描述的如此详细,就是因为这个文件太重要了,它是apache服务器最重要的配置文件,没有之一!很多apache服务器出现问题,甚至安全问题,都与该文件配置问题相关。本书既然面向0基础的读者,有必要对这个文件进行详细描述,请读者务必数量掌握该文件的配置和重要属性的意义,后期网站出现问题时,可能需要从此处着手排除问题。

Apache是比较常用的web服务器软件,用来解析HTTP网页。这里需注意,apache本身并不能解析php页面,它是用来配置解析http页面的。当然,作为一款最流行的web服务器软件,apache支持SSL协议,支持虚拟主机等,这些功能我们稍后介绍。

Apache的官方下载地址为:http://httpd.apache.org/download.cgi,目前最新版本为2.4.46(Release 2020-08-07)。但该网站仅提供apache源码下载,不提供编译后的软件下载,我们选择Apache Haus Downloads,这是一款在windows下编译完成的apache二进制文件,在windows平台下可直接使用(下载地址:https://www.apachehaus.com/cgi-bin/download.plx),根据你服务器的操作系统选择对应的文件下载,作者使用的x64版本。

 

这里需要注意的是,这个二进制文件是基于x64位平台,VC15环境下编译的,因此,它所运行的操作系统必须满足以上条件,它不适用于XP和2003这样的32位操作系统,同时,你还需要在系统下安装VC15x64(visual studio 2017)运行库(下载地址: https://aka.ms/vs/16/release/vc_redist.x64.exe)。

将下载后的apache压缩包解压,将其中Apache24文件夹放在系统C盘根目录下,

 

先配置环境变量,右键点击“这台电脑”,选择“属性”,

 

在弹出的窗体中选择“高级系统设置”

 

在高级系统设置界面的“高级”选项卡中,单击“环境变量”

 

在弹出的“环境变量”窗体的下半部分“系统变量”中找到变量“Path”,点击编辑,

 

在弹出的对话框中,将光标移动到最后,键入英文;apache中bin的目录值(前文已将apache24放置于C盘根目录下,因此此处的值应为: ;C:\Apache24\bin)。

 

确定后,对环境变量界面也确认,至此环境变量配置生效。

注意:设置环境变量,目的是可以在windows的任何目录下可以使用环境变量path中所列目录中的可执行程序,而不必先定位至该目录下,然后再执行可执行程序,便于我们在控制台下通过命令启动apache服务器。

后面对于php和mysql的环境变量path配置与此相同,到时将不会细述,请读者对此处配置过程加以熟悉。

然后,不要忘记安装VC运行库,通过https://aka.ms/vs/16/release/vc_redist.x64.exe下载后的文件,双击运行安装即可。

此时,打开命令行,键入httpd –k start 回车后,不出现任何提示,即表明apache安装成功。

 

*几个重要文件的配置:

Apache服务器运行前,首先需要对几个文件进行配置,以便能够支持更多特性。

我们首先要熟悉一下apache24里面的目录结构。

 

bin目录:可执行文件目录。里面是apache2.4的全部可执行文件和动态链接库文件,其中比较重要的是httpd.exe文件,是web服务器主文件,监听网站端口,处理http消息,与用户交互等。还有其他的可执行文件,如ApacheMonitor.exe文件,用来监控web服务的运行状态;ab.exe/abs.exe用来测试http/https网站性能等。还有一些重要的动态链接库文件,有些是负责SSL运行的动态链接库,后面用到时会加以介绍。

需要指出的是,正如前文所述,我们一般设置bin目录为windows环境变量的目录值,目的是为了可以在命令行模式下,windows的任何路径下,均可以使用该目录下的可执行文件,而不用书写可执行程序的路径全名。

conf目录:这是配置文件目录。对apache服务器的个性化配置时,需要修改该目录下的文件。这里面比较重要的文件为httpd.conf,主要对apache服务器的通过属性进行配置;extra/httpd-vhosts.conf,主要是配置虚拟服务器的相关属性;extra/httpd-ssl.conf,主要对SSL(安全传输协议)的配置,主要配置SSL端口、目录、证书路径和私钥路径等。

其余路径(如include路径下为头文件,方便利用动态链接库进行再开发;icons路径下是图标文件;modules下是服务器的插件模块,对web服务进行扩展,如增加文件传输能力、图形处理能力、邮件和ftp服务能力、字符处理能力、数据库连接能力等;logs是日志目录,对web服务启动或运行时出现的信息进行记录,以便排除问题等),本文涉及较少,这里不做详细介绍。

(未完待续)

版权声明:本文为slyz-2019原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/slyz-2019/p/14457314.html