关于Apache是什么及与tomcat的区别联系见上一篇文章,这里我们只讲window下的Apache web服务器的安装及虚拟主机的配置。
(1)打开百度,搜索Apache。我们日常所说的apache服务器指的是apache httpd服务器,而实际上apache是一个软件基金会,它的旗下包含很多款软件,例如httpd、tomcat、maven等等。简单说一下httpd以免引起疑惑:httpd是一个开源软件,且一般用作web服务器来使用。目前最流行的web服务器软件叫做httpd,在早期的http server就叫做apache,到了http server 2.0以后就改名为httpd了。所以有时候听到apache服务器和httpd服务器其实都是指得是一个意思。
(2)点击第二个红框网址,点开以后可以看到页面左上角有一个Download链接。点击进入,可以看到最新公布的版本是2.4.35,各版本区别自行百度。
(3)点击下面的Files for windows,就是下载windows版本的apache 服务器软件。Apache有本身的服务器是不能使用的,必须要先编译才可以使用的。但是在他的官网上也提供了第三方编译好的Apache所以这里我们就,下载第三方的而不用自己手动在编译了。这里它提供了五个第三方的服务器。
点击Files for Microsoft Windows进入下面页面,需要对五个网站进行一下说明:
a、如果要安装继承开发环境,可以选择后两个WampServer和XAMPP,包含mysql、php等多个组件的安装包,
b、但是如果只想学习Apache,建议就下载只有Apache的安装包选择前两个网站ApacheHaus和Apache Lounge.
(4)选择第一个ApacheHaus,选择相应的版本,进行下载。ApacheHaus中有两大类Apache 2.4 Server Binaries和Modules for Apache 2.4.x VC14,需要说明一下:
binaries 是为 windows 已编译好的二进制文件,你选择合适的版本下载安装就可以了modules 是一些备选的功能模块,你可以根据需要选择安装
该下载那个版本的 apache 是有讲究的:
1、你的机器是 64 位的,应下载有 win64 标志的,否则下载 win32 标志的
2、你的操作系统是
XP、2003 应下载有 VC9 标志的
win7、win8 应下载有 VC11 标志的
win10 应下载有 VC14 标志的
可降低,但不可升高
为了方便使用,我将下载的Apache放在了百度云上(链接:https://pan.baidu.com/s/18CaN05WUrj-nxaVwicbrhQ 密码:nm4e)。下面开始我们的配置:
(1)进入conf文件夹,打开httpd.conf配置文件,修改默认的配置
修改1:
第第38行默认是:
Define SRVROOT "/Apache24"
ServerRoot "${SRVROOT}"
修改为你安装Apache的所在目录,我的是A:\Apache\Apache24
Define SRVROOT "A:\Apache\Apache24"
ServerRoot "${SRVROOT}"
修改2:
第60行默认是:
#Listen 12.34.56.78:80
Listen 80
修改为8080(可为任意不被占用的端口,比如2345等)
#Listen 12.34.56.78:80
Listen 8080
修改3:
第223行默认是:
ServerName localhost:80
修改为(端口号与修改2一致):
ServerName localhost:8080
(2)以管理员身份运行命令行提示符,安装Apache24。进入Apache24的bin目录,输入命令:httpd.exe -k install -n “Apache24” (注意:命令中,Apache24为安装的服务名称),如果显示如下图红色方框内容,则表示安装成功。
安装完成后,可通过window服务进行查看,通过win+R,输入services.msc,查看所有的服务。可以在服务中找到Apache24的服务。
到此则表示安装成功。
(3)启动Apache24服务
启动与停止命令:
httpd.exe -k start -n "Apache24"
httpd.exe -k stop -n "Apache24"
httpd.exe -k restart -n "Apache24"
httpd.exe -k uninstall -n "Apache24"
也可通过通过ApacheMonitor启动,双击/bin目录下的ApacheMonitor.exe。
(4)服务测试,可以在浏览器中输入http://127.0.0.1:8080(或者http://localhost:8080),出现如下界面,则表示成功。
以后自己想要放入服务器的文件,都放在目录E:\Apache24\htdocs下。比如我有一个名为get_data.xml的文件,通过http://127.0.0.1:8080/get_data.xml 可以访问。
wordpress百度云下载
链接:https://pan.baidu.com/s/1M8GSdZyEBDmrd06zmsT1lw 密码:8yt5
(1)在进行虚拟主机配置之间,先修改conf文件下httpd.conf文件,将第501行
#Include conf/extra/httpd-vhosts.conf
去掉#,修改为
Include conf/extra/httpd-vhosts.conf
(2)接下进入conf/extra,打开httpd-vhosts.conf文件
在文件末尾添加以下配置(注意:这是我自己的配置,还有其他选项可进行设置):
我将wordpress放在了D:\www\wordpress
DocumentRoot "D:\www\wordpress"
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
ServerName wordpress-test.io
ErrorLog "logs/wordpress.io-error.log"
CustomLog "logs/wordpress.io-access.log" common
DocumentRoot指令:
语法:DocumentRoot directory-path
用来设置httpd提供服务的目录。即你所在项目入口处的文件夹。
为主目录或虚拟目录设置权限。
Directory下的相关权限说明
下图表是对Options Indexes FollowSymLinks
的说明,可选项
DirectoryIndex index.html index.htm index.php:设置访问目录后进入的默认文件
AllowOverride all:定义位于每个目录下.htaccess(访问控制)文件中的指令类型。none为禁止使用.htaccess文件
Require all granted :允许所有来源访问
还有其他权限控制,在这里不一一说明。
ServerName指令:
语法:ServerName [scheme://] FQDN [:port]
用来设置服务器用于辨识自己的主机名和端口号。主要用于创建重定向URL。
ErrorLog指令:
语法: ErrorLog file-path
来设置当服务器遇到错误时记录错误日志的文件。如果file-path不是以/开头的绝对路径,那么将会被认为是一个相对于ServerRoot的相对路径。
CustomLog指令:
语法: ErrorLog file-path common
设置日志文件,并指明日志文件所用的格式(通常通过格式的名字)。
(3)配置本地hosts文件
我的win10的hosts文件在C:\Windows\System32\drivers\etc下
什么是本地hosts?我们知道访问一个域名,通过dns服务器得到该域名所指向的服务器ip地址,然后通过ip地址和服务器建立连接,完成剩下的事情。那么当开发过程中我们没有域名的时候如何才能模拟一个域名呢?答案就是hosts文件。用记事本打开,在文件末尾添加:127.0.0.1 wordpress-test.io
当你访问wordpress.io的时候,实际上指向的是127.0.0.1这个本地ip。
(4)在浏览器输入:wordpress-test.io,别忘了重启Apache(httpd.exe -k restart -n “Apache24”)得到如下界面:
可在httpd-vhosts.conf中的Directory中添加DirectoryIndex index.html index.htm index.php
,用来指定默认文件,因为未进行php环境配置,所以无法看出效果。
以上便是将讲述了Apache从下载到安装,再到配置虚拟主机的所有步骤,如有疑问可留言探讨,忘留下脚本,共同努力。