Apache HTTP Server是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。
一、下载
下载地址:http://www.apachehaus.com/cgi-bin/download.plx
二、配置
2.1 下载下来的zip后缀的程序包,解压出来,然后自定义名称放在相应的位置上,我是在服务器的D盘根目录下,命名为:Apache,即D:\Apache\ ,该目录下包含bin、conf、htdocs、lib等目录及文件;
2.2 配置环境变量,在系统变量path的末尾加入:;D:\Apache22\bin (注意是追加,不是覆盖)
2.3 配置httpd.conf
编辑根程序目录下conf/httpd.conf的文件里面的内容:
Define SRVROOT "d:\Apache24"
修改为
Define ServerRoot "d:\Apache"
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>
注:我只简单的更改其中的两处,生产环境下,需要根据实际情况,进行相应的调整配置文件;
三、安装
以管理员身份运行开始-运行-输入cmd,进入DOS窗口后,首先切换到Apache的程序目录:
C:\Users\Administrator>d:
D:\>cd Apache\bin
D:\Apache\bin>httpd -k install
D:\Apache22\bin>httpd -k start
Other Command line options:
Stop Apache httpd -k stop
Restart Apache httpd -k restart
Uninstall Apache Service httpd -k uninstall
Test Config Syntax httpd -t
Version Details httpd -V
Command Line Options List httpd -h
四、验证
打开浏览器,在地址栏输入:http://localhost/ ,如果能正常打开网站信息,即说明已成功部署了。
主要想告诉大家配置站点在www目录和非www目录的区别。
第一步:打开配置文件httpd-vhosts.conf【我的路径是D:\apache\conf\extra\httpd-vhosts.conf】,复制文件中最后一个代码段:
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "c:/Apache23/docs/dummy-host2.example.com"
ServerName dummy-host2.example.com
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
粘贴到文件末尾,修改跟目录和虚拟主机域名:
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "E:\workspace\flyox_xt"
ServerName charming.f-ox.com.cn
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
PS : 把这一段直接粘贴在httpd.conf文件末尾也是可以的,但是建议大家不要这么做,显的很凌乱。
第二步:打开配置文件httpd.conf,这个相信大家都很熟悉,在文件末尾添加如下代码,引入第一步的文件:
Include "D:\program\wamp\bin\apache\Apache2.3.14\conf\extra\httpd-vhosts.conf"
第三步:在httpd.conf文件中Ctrl+F,输入搜索内容DocumentRoot找到下面的代码:
<Directory "D:/program/wamp/www/">
Options Indexes FollowSymLinks ExecCGI
Order allow,deny
Allow from all
AllowOverride All
</Directory>
复制粘贴在这段代码下面【其实放在这个文件的那个位置都行,有人说放在末尾,我建议大家就放到这个下面】,把路径改为自己的路径。
<Directory "E:/workspace/flyox_xt/">
Options Indexes FollowSymLinks ExecCGI
Order allow,deny
Allow from all
AllowOverride All
</Directory>
注:这一步主要是针对没有配置站点在www目录下的,如果源码放在www目录下就不需要这步。
PS:这段代码的作用就是把源码文件在httpd文件中写明权限。
第四步:重启apache。
NameVirtualHost *:80
#<VirtualHost *:80>
# ServerName *
# DocumentRoot d:/www/1/
#<\VirtualHost>
<VirtualHost *:80>
DocumentRoot D:/www/2/
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot D:/www/4/
ServerName www.west4.com
<Directory "D:/www/4/">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
参数选项:
-d serverroot
将ServerRoot指令设置初始值为serverroot。它可以被配置文件中的ServerRoot指令所覆盖。其默认值是/usr/local/apache2 。
-f config
在启动中使用config作为配置文件。如果config不以"/"开头,则它是相对于ServerRoot的路径。其默认值是conf/httpd.conf 。
-k start|restart|graceful|stop|graceful-stop
发送信号使httpd启动、重新启动或停止 。
-C directive
在读取配置文件之前,先处理directive的配置指令。
-c directive
在读取配置文件之后,再处理directive的配置指令。
-D parameter
设置参数parameter ,它配合配置文件中的<IfDefine>段,用于在服务器启动和重新启动时,有条件地跳过或处理某些命令。
-e level
在服务器启动时,设置LogLevel为level 。它用于在启动时,临时增加出错信息的详细程度,以帮助排错。
-E file
将服务器启动过程中的出错信息发送到文件file 。
-R directory
当在服务器编译中使用了SHARED_CORE规则时,它指定共享目标文件的目录为directory 。
-h
输出一个可用的命令行选项的简要说明。
-l
输出一个静态编译在服务器中的模块的列表。它不会列出使用LoadModule指令动态加载的模块。
-L
输出一个指令的列表,并包含了各指令的有效参数和使用区域。
-M
输出一个已经启用的模块列表,包括静态编译在服务器中的模块和作为DSO动态加载的模块。
-S
显示从配置文件中读取并解析的设置结果(目前仅显示虚拟主机的设置)
-T
在启动/重启的时候跳过根文件检查 (该参数在Apache 2.2.17及其以后版本有效)
-t
仅对配置文件执行语法检查。程序在语法解析检查结束后立即退出,或者返回"0"(OK),或者返回非0的值(Error)。如果还指定了"-D DUMP_VHOSTS",则会显示虚拟主机配置的详细信息。
-v
显示httpd的版本,然后退出。
-V
显示httpd和APR/APR-Util的版本和编译参数,然后退出。
-X
以调试模式运行httpd 。仅启动一个工作进程,并且服务器不与控制台脱离。
下列参数仅用于Windows平台:
-k install|config|uninstall
安装Apache为一个Windows NT的服务;改变Apache服务的启动方式;删除Apache服务。
-n name
指定Apache服务的名称为name
-w
保持打开控制台窗口,使得可以阅读出错信息。
转载于:https://blog.51cto.com/westkk/1884740