码迷,mamicode.com
首页 > 其他好文 > 详细

虚拟主机配置

时间:2015-12-28 20:13:39      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:

我们来了解一下域名和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就会失效。

 

虚拟主机配置

标签:

原文地址:http://www.cnblogs.com/phpstudy2015-6/p/5079698.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!