php虚拟主机配置教程

端口监听:

端口:就是一个数字,目的是让一台电脑(对外只有一个IP)能够对外提供多项服务(多种功能)。

行业默认有如下常见的服务和端口对应:

web服务: 80

ftp服务: 21

邮件收取服务:110

邮件发送服务:25

mysql数据库服务:3306

一台电脑中,有6万多个端口,但通常一台服务器,一般只提供几个或10几个服务。

apache的端口监听设置,是指设定apache这个软件针对当前服务器的哪些端口提供web服务:

即apache是"服务生",至于"外界"想要当前服务器提供什么服务,由外界提出"申请"(请求)。

通常,浏览器提出的都是web请求,但有些请求可能不在apache的服务范围内(端口不符)。

原始的配置:

php虚拟主机配置教程

php虚拟主机配置教程

但如果:

php虚拟主机配置教程

apache配置文件改为:

php虚拟主机配置教程

则再次访问:

php虚拟主机配置教程

主机配置关键项

主机,虚拟主机,web站点,是指一个可以通过浏览器并使用某个域名进行访问的"web应用"。

一个主机(站点),最核心的就两件事:

主机(站点)的名字:ServerName "主机名"

主机(站点)的实际文件夹位置:DocumentRoot "站点的实际完整路径"

apache的作用其实就是一个"转换"角色:将当前电脑中的某个文件夹,对外以某个域名(站点)的方式展现出来。换句话说:站点的本质就是一个文件夹

php虚拟主机配置教程

php虚拟主机配置教程

当一个请求通常域名解析进入到当前apache并端口匹配成功后,apache就会开始"提供服务"。

1,在站点设置中找ServerName项,看是否匹配请求中的主机名。

2,如果找到,则在对应的目录(DucumentRoot配置项)中找相应的文件(可能是index.php,或其他)

3,如果找到,则返回该文件(或调用php语言模块执行后返回)

4,如果没第2步没有找到对应请求中的主机名,那么就将第一个主机当作准备提供服务的主机

可见:只要ip解析和端口能够进入到当前服务器并匹配apache的端口设定,则apache一定会提供服务——即使主机名不匹配。

根据上述思想,我们来修改一下默认配置:

php虚拟主机配置教程

然后进行访问,发现被禁止:

php虚拟主机配置教程

原因是:一个文件夹的访问,是有权限的。初始的站点所对应的文件夹,安装的时候已经设置好权限了。

现在改了,但权限还没设置,所以被禁止。

配置文件夹访问权限

下面添加该文件夹访问权限:

php虚拟主机配置教程

我们访问一个站点的时候,可以指定要访问的网页,比如:

http://www.php34.com/day1/page1.php

http://www.php34.com/day1/page2.html

也可以不指定,比如:

http://www.php34.com

http://www.php34.com/day1/

则对于后一种情况,apache就可以设定"默认网页"以提供给用户,形式为:

php虚拟主机配置教程(默认配置中)

修改为:

php虚拟主机配置教程

此时,对于没有指定要访问明确网页的请求,会按顺序从前往后找这些文件,找到后就"返回"给用户。

但是,如果最终都没有找到,此时,Options中的Indexes就发挥作用了:显示该文件夹中的所有文件(和文件夹)

我们也可以将DirectoryIndex设置项放在一个单独的站点或单独的文件夹中,则只对该单独的站点或单独的文件夹起作用。

php虚拟主机配置教程

主机别名设置

在应用中,我们常常可以使用一下两种形式来访问一个站点:

http://www.abc.com

http://abc.com

通常,现在越来越流行后者。

此时,就相当于"2个站点(主机名)"但访问的是一个内容

此时就需要使用主机别名来实现:

ServerAlias 别名1 别名2 别名3 ......

文件夹访问控制的文件控制方式

通常,我们在config配置文件中,使用Directory配置项,目的是用来控制文件夹的访问权限。

但我们也可以使用一个独立的文件来控制某文件夹的访问权限。

该文件名必须是: .htaccess

注意:

1,只有后缀和点号(无文件名部分)

2,该文件必须放在要被控制访问权限的文件夹中(不同的文件夹可以放不同的该文件)

3,其"上级文件夹"(通常是Directory设定中的文件夹)必须使用如下代码允许.htaccess发挥作用:

AllowOverride All

4,.htaccess文件中出现代码,几乎可以跟Directory设定中出现的代码一样。

5,如果.htaccess文件有效,则其设置会覆盖其上级设置。

6,此.htaccess文件修改后可以立即发挥作用,无需重启apache

php虚拟主机配置教程

并设置:

php虚拟主机配置教程

目录别名设置Alias

目录别名也叫虚拟目录

一个站点是一个文件夹(目录)。

该文件夹中自然可以有其下级文件夹(目录)。

实际存在的下级目录,可以按正常的文件夹访问层级关系进行访问,比如:

http://www.php34.com/            根文件夹(也就是站点目录)

http://www.php34.com/day1/        根文件夹中的day1目录

http://www.php34.com/day1/abc/    根文件夹中的day1目录中的abc目录

如果这些都是实际存在的,则就可以以该方式访问。

然而:

在一个站点中,如果不存在某个文件夹(目录),我们可以通过配置项,来做到"对外"看起来却存在一样,比如:

http://www.php34.com/soft/        假设站点中不存在soft目录

但我们可以让该地址"可访问"

这就是目录别名(虚拟目录)

php虚拟主机配置教程

然后开始设置:

php虚拟主机配置教程

再访问:

php虚拟主机配置教程

然后去设置该文件夹的访问权限就可以了:

php虚拟主机配置教程

再次访问:

php虚拟主机配置教程

可见,通过在技术,可以将一个站点之外的"网页/数据/内容"也呈现在当前站点中。

多站点配置:

1,首先,在httpd.conf中打开多站点配置文件:

php虚拟主机配置教程

改为:

php虚拟主机配置教程

实际上,该文件所在位置一目了然:

2, 打开改文件(httpd-vhost.conf设置要进行多站点配置的ip和端口,形式如下:

NameVirtualHost IP:端口

*可以代表当前服务器的所有IP地址(通常也就一个)

php虚拟主机配置教程

3,往后就依次一个一个站点配置就可以了,如下所示:

(注意:一旦进行多站点配置,则原来httpd.conf中的默认站点配置就失效了)

php虚拟主机配置教程

php虚拟主机配置教程

本文来自投稿,不代表科技代码立场,如若转载,请注明出处https://www.cwhello.com/14991.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
上一篇 2020年11月13日 10:50
下一篇 2020年11月16日 00:00

相关推荐

  • 我的php学习第十九天之mysql

    昨日回顾 PHP文件的工作原理 www.baidu.com/about/index.php   分析的相关信息: (1)www.baidu.com对应的是服务器上的 DocumentRoot配置项指定的目录 转换成实际目录: e:www (2)about目录 转成实际目录...

    2015年12月1日 server自学教程
    0277
  • PHP函数的封装性

    使用一个表单,输入任意数字,使之可以在2,8,16进制到10进制或10进制到2,8,16进制之间转换,形式大致如下如下: 原始代码实现 Document 数: 十进制转二进制 二进制转十进制

    2018年4月5日 PHP自学教程
    0207
  • 做一个网站需要哪些准备工作。

    前言:之前遇到一些朋友来问,如果想做一个网站需要哪些准备工作,那么今天岛主和大伙一起来说说~ 建立一个网站需要提供那些资料~ 第一步: 公司网站的域名 ,就是我们常说的网址: 比如www.toutiao.com 头条,或者 ...

    2022年7月3日
    0111
  • WordPress网站打开速度提升优化教程。

    在使用Wordpress的时候,经常会听到许多人说Wordpress速度慢,作为一个使用Wordpress多年的人就想说,其实Wordpress速度很快,优化好了完全可以赶上各种国内的CMS,今天就和大家分享几点WordPress网站速度优化的...

    2022年10月24日 wordpress开发
    0111
  • 网站建设之虚拟主机的网站安全迁移技巧分享。

    由于不同网站租用的虚拟主机或者服务器性能各不相同,因此会遇到将某个网站从一个主机上迁移到另外一个主机上,下面郑州网站建设公司将介绍一些虚拟主机的网站安全迁移技巧,避免一些不必要的损失。 1、迁移新主...

    2023年2月16日
    00
  • php实现签到功能的方法实例分析(附代码)

    本文实例讲述了php实现签到功能的方法。分享给大家供大家参考,具体如下: 首先我在数据库里建了两张表,一个是用户的积分表,一个是签到状态表,分来用来记录用户的积分数和先到状态   在用户签到状态表中我们...

    2018年3月7日
    0347
  • PHP回调函数的说明

    说明:在一个函数中调用另一个函数,这个时候称为“回调”; 案例  

    2018年4月5日
    0234
  • 虚拟主机是什么你知道吗。

    网站建设初期,购买服务器到安装操作系统和应用软件需要较长的时间,而租用虚拟主机通常只需要几分钟的时间就可以开通。那么虚拟主机是什么呢?互联网现有上亿台的计算机,这些计算机归结为两大类:客户机和服务...

    2023年2月21日
    00

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息