配置虚拟主机| 学习笔记

本文涉及的产品
.cn 域名,1个 12个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
简介: 快速学习配置虚拟主机。

开发者学堂课程【PHP 基础入门课程(上) :配置虚拟主机】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/709/detail/12579


配置虚拟主机

 

内容介绍:

一、目标及概念

二、配置虚拟主机的步骤

三、小结

 

一、目标及概念

目标:了解虚拟主机的概念和作用,并能够在服务器上配置基于域名的虚拟主机

虚拟主机:

VirtualHosting ,或称共享主机( sharedwebhosting ),又称虚拟服务器,是一种在单一主机或主机群上,实现多网域服务的方法,可以运行多个网站或服务的技术。

虚拟主机技术在公司只有一台实际主机的情况下,可以同时对外提供多个网站服务,让用户使用不同的域名访问到不同的网站,从而节省硬件成本,更好的利用服务器资源。

举例:

程序员在开发阶段、测试阶段、上线阶段具有着不同的角色定位,即与“一台实际主机,可以同时对外提供多个网站服务。”的情况相类似。

image.png

详解:

1. 虚拟主机就是类似上图的一人饰多角一样,一个人就是一台实际主机,一个虚拟主机就是一个角色,每一个角色就是一个网站。

2. Web 虚拟主机分为两种:基于 IP 的虚拟主机和基于域名的虚拟主机

(1)基于 IP 的虚拟主机:对电脑硬件有一定的要求,要求一台电脑上有多个网卡,一个网卡对应一个 IP 地址,多个 IP 地址就可以有多个网站。【较少使用】

(2)基于域名的虚拟主机:一台电脑上只需要一个 IP,每个网站有不同的域名(就是每个文件夹给定一个路径,然后给每个文件夹一个域名),更加节省成本。【较多使用】

image.png

 

二、配置虚拟主机的步骤

1. Apache 默认关闭虚拟主机,需要在 Apache 的主配置文件 httpd.conf 中主动打开。

image.png即 Apache24\conf\httpd.conf-Sublime Text

打开配置文件,搜索 VirtualHost,往下翻具体位置为516行 Include httpd-vhosts.conf。去掉注释将其开启。添加注释#开启虚拟主机

2.配置虚拟主机:在 Apache 的 conf\extra\httpd-vhosts.conf

打开conf\extra\httpd-vhosts.conf,清空虚拟主机信息及将相关路径。

配置虚拟主机

(1)增加虚拟主机主标记: VirtualHost 标记,代表虚拟主机;*:80中*表示本机IP,80表示监听的端口(如果主配冒端口有变,此外要跟着变化)

(2)配置主机信息: DocumentRoot 文档位置,ServerName 选用的主机名、域名。

(3)配置目录权限:Directory 指定目录;Require 设置权限;Directoryindex 设置默认首页文件等。

具体如下

httpd-vhosts. conf

24 #配置自己的虚拟主机

25 <VirtualHost*:80>

26 #指定文档位置:网站根目录

27 DocumentRoot"D:/server/Apache24/htdocs"

28 #确定主机名

29 ServerName www.myweb.com

30

31 #权限管理

32 <Directory"D:/server/Apache24/htdocs">

33 #允许所有人访问

34 Require all granted

35 #Require local:本地访问

36 #Require all granted:全部访问

37 #Require all Denied:拒绝所有访问

38 #Require ip127.0.0.1:允许指定IP访问(内部访问)

39 #Require not ip 192.168.98.1 :禁止指定 IP 访问(防止指定攻击)

40 Require host localhost:允许使用 localhost 访问(私有主机)

41

42

43 #配置默认访问页面:首先默认 indexphp,如果找不到找index.html

44 DirectoryIndex index.php index.html

45 </Directory>

46

47</VirtualHost>

实际操作:

返回并找到虚拟主机,保留其中一条路径,添加注释 # 配置虚拟主机:针对D:/server/web ,D 盘下 sever-的 web 目录无法访问,而进行配置。

需要用到以下几个东西

(1)DucumentRoot ‘’D:/server/web’’ 指定对应的位置,添加“ ‘’ ‘’ ”引号以表示其为路径,且需要一个别名,使别人能够访问,例如www.baidu.com等。

(2)ServerName  www.myweb.com

(3)权限配置,添加注释

#权限配置

<Directory ‘’D:/server/web’’ >

#允许所有人访问

Require All granted

#设置默认首页

DirectoryIndex index.php

<Directory>

以保证安全和友好性;在实际开发中需要设置更多的权限以实现更多的控制,针对文件夹甚至是子文件夹。

注意:

一旦开启虚拟主机, Apache 默认的 localhost 访问就会失效,如果要进行虚拟主机配置且不是指向原来的文档位置 htdocs,那么需要重新配置一个 localhost 指向 htdocs 文件夹。

在上述操作中,即主配置文件中的 ServerName 失效,若要使其重新生效,就要在上述实际操作中进行重新配置:

DucumentRoot ‘’D:/server/Apache24/htdocs’’

ServerName  localhost

#权限配置

<Directory ‘’D:/server/Apache24/htdocs’’ >

#允许所有人访问

Require All Granted

#设置默认首页

DirectoryIndex index.php  incex.html

<Directory>

重启 Apache,让配置生效(所有配置修改都需要重启 Apache )

与此同时可以进行测试,

查看是否出错:

输入 cd.. cd.. cd..Apache24/bin/httpd-t 来测试语法。并访问127.0.0.1 、localhost和 www.myweb.con

3.虚拟主机的配置只是服务器的更新,要想让客户(浏览器)能够访问到,就必须配置 DNS ;开发时可以利用本地 DNS (hosts文件)来实现域名解析。

image.png

快捷键 win+R,调出并输入 drivers ,打开 etc;找到对应的 host 文件,配置127.0.0.1  localhost 即将 www.myweb.con 解析到本地。

此时不必重启Apache,修改的域名与服务器没有关系。

在 server/web 下创建文件 index.php,输入 echo—_’hhaha ’;保存后再次访问,即可访问到;localhost 显示 it works 打开对应的是 Apache24/Index/Index.php,刷新后访问到变成 hello world。浏览器有缓存,所以完成虚拟主机的配置时,有时候看到的是修改前原来的数据,所以需要刷新或清除对应的缓存。

 

三、小结

1. 虚拟主机是在一台真实主机上配置多个网站对外提供多种服务,从而节省主机成本。

2. 虚拟主机分为两种:基于 IP 的虚拟主机和基于域名的虚拟主机。

3. 基于域名的虚拟主机配置逻辑

(1)主配置文件开启虚拟主机

(2)虚拟主机配置文件配置虚拟主机

主机名:ServerName

档位置:DocumentRoot

目录权限:Directory

(3)重启 Apache 使得配置生效

(4)修改 DNS 实现外部访问

本地访问:修改 hosts 文件。

外部访问:修改 DNS

4.如果在有多个虚拟主机的情况下,是基于 IP 来进行访问的;如在以上操作中,访问127.0.0.1/index.php系统通过主机名进行区分,此时区分不出,则刷新后系统会自动匹配第一个。

相关文章
|
运维 测试技术 网络安全
Apache虚拟主机配置详细教程
Apache虚拟主机配置详细教程
728 0
Apache虚拟主机配置详细教程
|
网络安全 数据安全/隐私保护
阿里云虚拟主机服务器部署farbox2.0
阿里云虚拟主机服务器部署farbox2.0
61 1
|
弹性计算 安全 网络协议
阿里云服务器部署FTP站点和Web环境教程
对于建站用户来说,在购买阿里云服务器之后,下面要做的就是部署FTP站点和Web环境教程,然后上传并运行我们的网站,这篇文章详细介绍了部署阿里云服务器全过程,对大家的学习或者工作具有一定的参考学习价值,不懂如何在阿里云服务器上部署网站运行环境的用户不妨随着小编来一起学习学习吧。
541 0
阿里云服务器部署FTP站点和Web环境教程
|
域名解析 Java 应用服务中间件
配置虚拟主机| 学习笔记
快速学习配置虚拟主机,介绍了配置虚拟主机系统机制, 以及在实际应用过程中如何使用。
配置虚拟主机| 学习笔记
|
XML 存储 Java
虚拟主机和应用部署(1)|学习笔记
快速学习虚拟主机和应用部署
虚拟主机和应用部署(1)|学习笔记
|
网络协议 前端开发 Apache
虚拟主机的配置| 学习笔记
快速学习虚拟主机的配置。
虚拟主机的配置| 学习笔记
|
XML 安全 应用服务中间件
虚拟主机和应用部署|学习笔记
快速学习虚拟主机和应用部署
|
Java 应用服务中间件 Apache
虚拟主机和应用部署(2)|学习笔记
快速学习虚拟主机和应用部署
|
弹性计算 安全 网络协议
购买阿里云服务器之后部署FTP站点和Web环境教程
这篇文章详细介绍了部署阿里云服务器全过程,对大家的学习或者工作具有一定的参考学习价值,不懂如何在阿里云服务器上部署网站运行环境的用户不妨随着小编来一起学习学习吧。
445 0
购买阿里云服务器之后部署FTP站点和Web环境教程
|
搜索推荐 架构师 应用服务中间件
Nginx极简入门(四)基于域名的虚拟主机配置
前面讲了如何安装配置Nginx,今天要说的是Nginx如何基于域名配置虚拟主机。 需要说明的是:由于本文章是nginx系列文章中的一篇,文章里面很多其他的配置,可能前面的文章已经说讲过,然后后续就没有在介绍,如果出现有些配置没有讲,大家可能需要去看看前面的文章。
Nginx极简入门(四)基于域名的虚拟主机配置