专栏首页同步博客虚拟主机配置

虚拟主机配置

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Smarty的基本使用与总结

    含义:Smarty是PHP的一个引擎模板,可以更好的进行逻辑与显示的分离,即我们常说的MVC,这个引擎的作用就是将C分离出来。

    那一叶随风
  • TCP/IP参考模型

      TCP/IP模型是网络通信模型的一种。网络通信模型还包括OSI,旨在使各种计算机在世界范围内互连为网络。其中有OSI为七层模型、TCP/IP为四层模型,现在...

    那一叶随风
  • 制作类似ThinkPHP框架中的PATHINFO模式功能

      搞PHP的都知道ThinkPHP是一个免费开源的轻量级PHP框架,虽说轻量但它的功能却很强大。

    那一叶随风
  • 免费为你的域名申请SSL证书和配置教程

    我想,点进来的朋友,应该都知道SSL的重要性吧。这里就简单提一下,大型网站域名只有配置了SSL后,才会更加安全。

    大宇云的客户
  • mac 搭建selenium与ChromeDriver环境安装 selenium安装 ChromeDriver验证安装

    下载后,将安装包加入到环境变量。以mac系统为例,将chromedriver移至/usr/bin目录下即可

    章鱼喵
  • CSS中display:inline和display:inline-block的区别

    1)可以设置margin-left,padding-left,padding-right,margin-right,不能设置margin-top,padding...

    lesM10
  • AI、机器学习和深度学习的关系及区别

    作者:Rahul Sharma 来源:http://techgenix.com/author/rsharma/ 编译:FintechProbe 人工智能不再是科...

    企鹅号小编
  • 微信小程序 页面与自定义组件数据通信

    说明:页面通过my-property讲example字符串传递给自定义组件,同样也可以使用数据绑定的方法

    天天_哥
  • 让phpStudy在windows下也支持伪静态规则文件

    为了方便省事,默认使用phpstudy这个套件来运行php程序,但是发现phpstudy下好像无法使用伪静态,windows下似乎是不支持.htaccess文件...

    用户1191760
  • 让phpStudy在windows下也支持伪静态规则文件

    用户1272546

扫码关注云+社区

领取腾讯云代金券