虚拟主机配置

我们来了解一下域名和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 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何在Ubuntu 14.04上将ngx_pagespeed添加到Nginx

ngx_pagespeed,或者只是pagespeed,是一个Nginx模块,旨在通过减少资源的大小以及客户端浏览器加载它所需的时间来自动优化您的网站。如果您还...

1183
来自专栏charles的技术博客

dd硬盘读写性能常用的两种测试命令

先解释下什么是dd命令,dd是 Linux/UNIX 比较有用的命令之一,是用来指定块进行拷贝,并在拷贝的时候指定转换。

1362
来自专栏电光石火

php环境搭建

请先安装vcredist_x64。安装都是按下一步,若干个下一步后就安装成功OK了

2638
来自专栏linux系统运维

exportfs命令,NFS客户端问题,FTP介绍,使用vsftpd搭建ftp

2228
来自专栏進无尽的文章

代码管理| 本地Git仓库和远程仓库的创建及关联

顺便说一下:Github账号创建私人项目的话需要付费,可以在码云上面创建个人私有仓库,是免费的。

1.7K2
来自专栏C/C++基础

GitHub Desktop常见用法

这里记录我使用git的点滴,以需要完成的功能为切入点来讲解需要使用的命令,供日后参考,当然再结合“git命令大全”这类较全面的git命令介绍的文章,会更好的熟悉...

2143
来自专栏章鱼的慢慢技术路

Linux中的环境变量PATH

2372
来自专栏dalaoyang

Linux安装Elasticsearch

本文环境是在腾讯云服务器CentOS7.2搭建的,JDK1.8,elasticsearch-5.4.2。

4035
来自专栏我是攻城师

分布式日志收集之Logstash 笔记(一)

3386
来自专栏杂烩

Redis linux下安装配置 原

make命令执行完成后,会在当前目录下生成本个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-sta...

712

扫码关注云+社区

领取腾讯云代金券