我们来了解一下域名和IP,每一个域名都会对应一个IP。看看常规性的域名www.baidu.com,当浏览器输入域名时,浏览器就需要找域名对应的IP(在这过程中需要将域名“转换”为IP,这一过程叫做域名解析。互联网上有很多专门解析域名的服务器:DNS服务器),找到IP后,再去请求IP所代表的服务器。
而我们安装完apache后可以用localhost来进行测试,来证明apache是否安装成功。其中localhost是一个域名,特殊的域名,代表着“本机服务器”,其对应的IP为127.0.0.1。
然而我们平时进行开发是并不需要DNS服务器进行域名解析,而是用一个文本(hosts文件)来解析域名。C:\Windows\System32\drivers\etc\hosts
我们可以打开hosts文件,添加新的域名。
注意:这个文件需要提供管理员身份才可以进行修改。因此,我们需要以管理员的身份打开编辑器(例如记事本、Sublime等等),在该编辑器中打开hosts文件进行修改。
如图所示:
以域名www.phpstudy.com进行访问:
出现上图表示www.phpstudy.com域名设置成功。
解疑:为何输入localhosts与输入www.phpstudy.com都是访问同一个文件(站点) It works! 呢?
答:localhosts和127.0.0.1都代表本机服务器,而添加的www.phpstudy.com对应的IP也是127.0.0.1,也就是说输入localhosts、www.phpstudy.com和127.0.0.都是访问本机服务器。由于apache安装时其默认主页的位置为 D:\amp\apache\htdocs\ (apache安装位置\htdocs)。由于输入以上三个进行访问时,都只进入到hosts文件夹,而没有具体到某文件名(站点),所以apache默认显示index.html文件(站点)。
端口:
一台电脑中有六万多个端口,但通常一台服务器一般只提供几个或十几个服务。常见默认端口有:web服务:80端口 mysql数据库服务:3306端口 邮件收取服务:110端口 邮件发送服务:25端口 等等。执行过程:当客户端发出某种请求时,服务器检查其端口是否对应,再进行提供服务或者拒绝。例如当浏览器发出web请求时,apache默认端口为80,所以apache为其客户端提供它所要的服务。
apache配置文件中的80端口:
测试:输入域名 localhost:80 按回车得
输入 localhost:50 按回车得
可通过人为添加一个50端口:
保存后重启apache后测试
表明50端口可用。
主机配置:
主机也可以称为web站点,浏览器可以通过域名进行访问。主机(web站点)最核心的构成是主机名字(域名)和主机实际文件夹位置
名字:ServerName
实际文件夹位置:DocumentRoot
安装apache时里面有一个默认站点(htdocs):
下面我们来修改一下默认配置:ServerName: www.phpstudy.com DocumentRoot: "D:\amp\apache\my new web"
记得需要将默认配置的DocumentRoot注释掉,因为apache默认是单站点的,出现两个DocumentRoot实际路径仍然执行默认的路径。
重启apache进行测试:
由这里可得,刚才的设置成功,但是浏览器却没权限访问。(没权限访问my new web文件夹。htdocs可以访问那是因为安装apache时已经设置好权限了的)
【将ServerName(www.phpstudy.com)当做某处博物馆,DocumentRoot(D:\amp\apache\my new web)看做详细地址,客户端当做人。当人要去访问博物馆时,根据详细地址找到了,想要进去欣赏的时候,大门贴着,此馆不对任何人开放】
这一步我们就要将权限给破了。
为my new web 添加权限了:
打开apache配置文件
=》这是apache默认安装时htdocs权限设置,这里无须删改。我们添加如图 =》
PS:order是顺序,deny,allow是先拒绝在允许(此时拒绝无意义)。也可以allow,deny先允许后拒绝。(例:deny from 127.0.0.2)
=》这个是默认网页起全局作用,所有文件夹都起作用(也可以在后面继续添加默认网页,study.php等等),当输入的域名没有具体到某网页文件名时,会显示index.html。
设置好后进行测试:
配置成功!PS:默认网页也可以单独设置=》
对该文件夹及下属文件夹有效
多站点配置:
第一步,打开apache配置文件,找到如下(多站点配置)
初始被注释掉了
=》改为
第二步,打开httpd-vhost.conf文件(D:\amp\apache\conf\extra\httpd-vhost.conf)
=>没用可删除
进行设置:
第三步,设置IP
打开hosts文件 (C:\Windows\System32\drivers\etc\hosts)
添加如下图(设置了什么域名就添加什么)
重启apache测试:
PS:当进行多站点配置时,默认的htdocs就会失效。