第1天 PHP环境搭建及多虚拟主机配置

1.1. PHP介绍

1.1.1. 静态网页(网站)

就是不会“变化”的网页(内容)。

1.1.2. 动态网页(网站)

就是会因浏览的时间或不同的人而呈现不同内容的网页。
重要理念:后台程序(比如php)的运行结果(动态程序),最终的目的,是为了“输出”前台的静态网页。
PHP从数据库中获取到动态数据,然后在静态页面中进行输出

1.1.3. PHP发展史

PHP官方网站:
英文:PHP: Hypertext Preprocessor,超文本预处理器
• PHP/FI (form Interpreter)在 1995 年由 Rasmus Lerdorf 创建。起初脚本取名为“Personal Home Page Tools”。
• PHP/FI 2.0 于 1997 年 11 月发布了官方正式版本。
• Andi Gutmans 和 Zeev Suraski 在开发中,发现 PHP/FI 2.0 功能明显不足,于是他们重写了代码。这就是 PHP 3.0,这是比较接近现在PHP语法的一个版本。
• 2000年5月,PHP4.0诞生,性能得到很大的提升。
• 2004 年 7 月,PHP5.0发布,引入了新的对象模型和大量新功能,也是目前应用中的主流版本(5.4=>5.6)。
• 2014年PHP6由于种种原因,没有正式发布。
• 2015年最新的PHP版本是PHP7。
• 2019年最新PHP版本是PHP7.4.0。
• 目前PHP有zend公司在发布和维护。
全世界大约80%以上的网站都使用了php技术作为网站后台服务程序,如下所示:

第1天 PHP环境搭建及多虚拟主机配置_第1张图片
image.png

数据来源:w3techs.com

1.1.4. PHP的特点

– web(网站)服务器端的主流开发语言,用来实现用户的请求与响应
– 开源软件(源代码对外公开),免费,跨平台(所有操作系统windows、linux、mac下均可运行)。
– 入门简单,快速开发。
– 支持主流数据库,比如MySQL,MSSQL,Oracle,DB,ACCESS等

1.2. PHP运行环境介绍

1.2.1. 网络应用发展介绍

C/S模式(结构):
C: Client(客户端)
S: Server(服务器端)
例如:QQ聊天:1、下载、安装QQ的软件(客户端软件)2、登陆并验证(去腾讯的QQ服务器进行验证);3、聊天(张三(客户端)发起一句聊天,聊天信息发送到QQ服务器端(请求),然后QQ服务器把该信息转发给李四(客户端)(响应))
特点:本地(客户端)需要安装客户端软件(工具)
产品:QQ、微信、淘宝APP、京东APP

B/S模式(结构):
B: Browser(浏览器)
S: Server(服务器)
B/S模式的访问原理,就是通常所说的“上网”,图示如下:

第1天 PHP环境搭建及多虚拟主机配置_第2张图片
image.png

特点:通过浏览器(谷歌、火狐、IE、欧朋、360等)访问服务器
产品:网页版的JD、淘宝、天猫
后期几个月我们都是学习如何开发B/S架构软件

1.2.2. PHP动态网站运行原理

图示如下:


第1天 PHP环境搭建及多虚拟主机配置_第3张图片
image.png

数据库软件: MySQL, MSSQL, Oracle, db2, informix。。。。。
Web服务器软件: Apache, Nginx, httpd, IIS, Tomcat。。。
网页:静态网页(服务器直接响应返回返回)、动态网页(需要服务器端语言(PHP、Java、Go等等)进行解析)
浏览器软件: Chrome, FF, IE。。。
那,PHP在哪儿?继续展开“网站服务器”部分,如下图所示:


第1天 PHP环境搭建及多虚拟主机配置_第4张图片
image.png

Web服务器:Apache 后端语言:PHP

数据:MySQL

比如:
客户端输入:http://www.hao123.com/a.html 服务器端:直接把a.html的内容响应给浏览器
客户端输入:http://www.hao123.com/a.php 服务器端:会把a.php交给PHP语言进行处理,然后响应给浏览器。
客户端输入:[http://www.hao123.com/]
(http://www.hao123.com/a.html)a.jsp 服务器端:会把a.jsp交给Java语言进行处理,然后响应给浏览器。

1.3. 几个不同的PHP运行环境

WAMP环境: Windows + Apache + MySQL + PHP (经常在本地电脑开发时使用的环境)
LAMP环境: Linux + Apache + MySQL + PHP (网站上线之后运行的环境)
LNMP环境: Linux + Nginx + MySQL + PHP (目前最主流上线之后运行的环境)
独立安装环境:Apache、PHP、MySQL分别需要独立安装,然后把三个组装在一起
优点:能够按照你的需求进行安装不同版本的软件,而且能够安装最新的版本;另外,有助于我们学习阶段理解一个网站的请求原理。
缺点:安装比较麻烦,配置麻烦,容易出错

集成安装环境:Apache+PHP+MySQL已经打包好,直接使用即可
优点:安装简单,配置简单,不容易出错,面板操作,非常方便
缺点:不能根据自己的需求来安装自己想要的软件版本,因为集成软件安装的软件版本相对固定,更新相对比较慢
常用的集成软件如:


第1天 PHP环境搭建及多虚拟主机配置_第5张图片
image.png

第1天 PHP环境搭建及多虚拟主机配置_第6张图片
image.png

等等

说明: 1、在前期学习阶段,为了让大家更好的理解网站的开发流程,我们选择独立安装的方式进行安装
2、后期为了简便起见,我们选择使用集成环境(公司)。
今天要解决的最主要的问题:搭建一个可以执行PHP程序的web服务器,并使用PHP输出“hello world”, 以及当前时间,并能够“连接到数据库”

以及当前时间,并能够“连接到数据库”

2. Apache的安装、配置与管理

第1天 PHP环境搭建及多虚拟主机配置_第7张图片
image.png

注意:

第1天 PHP环境搭建及多虚拟主机配置_第8张图片
image.png

如果你的电脑没有安装VC14 ,请先安装

image.png

2.1. PHP运行环境安装总体目录规划

确定我们要安装的3个软件的对应目录类似如下所示:
F:/wamp/
apache/
php/
mysql/
特别注意:
1,安装的整个路径中不要出现中文和空格等特殊字符。
2,以后php文件名也不要出现中文和空格等特殊字符。


第1天 PHP环境搭建及多虚拟主机配置_第9张图片
image.png

2.2. Apache的安装

2.2.1. Apache的安装

官网: http://www.apache.org 下载地址:http://httpd.apache.org
对应的软件如下:

image.png

注意:X86指的是32位系统,X64指的是64位系统,64位系统既可以装64位的软件,也可以装32位的系统,但是32位系统安装不了64位软件

Apache安装步骤:

1,解压“httpd-2.4.25-x86-vc11-r1.zip”,并将解压后的所有文件拷贝到目标文件夹wamp/apache下。


第1天 PHP环境搭建及多虚拟主机配置_第10张图片
image.png

2,修改apache主配置文件(httpd.conf)中的“SVRROOT”为apache的实际目录. conf是config的简称

提示:要修改的文件为:wamp/apache/conf/httpd.conf,大约第38行处。

第1天 PHP环境搭建及多虚拟主机配置_第11张图片
image.png
image.png

3,管理员模式下运行cmd(或powershell),并在其中运行apache/bin下的命令httpd.exe,如下所示:
如果是win10系统,直接右键,点到一个叫做windows power shell(管理员)
如果是win7系统,


第1天 PHP环境搭建及多虚拟主机配置_第12张图片
image.png

右键,选择以管理员身份运行即可。


image.png

代表已经是管理员运行
进入到
第1天 PHP环境搭建及多虚拟主机配置_第13张图片
image.png
第1天 PHP环境搭建及多虚拟主机配置_第14张图片
image.png

运行 httpd.exe -k install

提示
1,httpd.exe所在位置为:apache/bin/目录中
2,如果想要删除该服务,则运行:httpd.exe -k uninstall

第1天 PHP环境搭建及多虚拟主机配置_第15张图片
image.png

解决443端口被占用的方法:

1)更改


第1天 PHP环境搭建及多虚拟主机配置_第16张图片
image.png

把这两个文件里面的443改成其他的数字即可,当然不能跟一些特定的端口(80、3306)重复
使用编辑器进行修改 CTRL+H 进行批量替换
修改完后需要重新安装(先卸载,再安装)


第1天 PHP环境搭建及多虚拟主机配置_第17张图片
image.png

2)找出被占用443端口的进程,关闭该进程
第1天 PHP环境搭建及多虚拟主机配置_第18张图片
image.png

image.png

第1天 PHP环境搭建及多虚拟主机配置_第19张图片
image.png

删除占用443端口的进程


image.png

然后正常启动
第1天 PHP环境搭建及多虚拟主机配置_第20张图片
image.png

并点击按钮,变成绿色即可。
4,双击打开如下文件并启动服务:wamp/apche/bin/ApacheMonitor.exe
第1天 PHP环境搭建及多虚拟主机配置_第21张图片
image.png

第1天 PHP环境搭建及多虚拟主机配置_第22张图片
image.png

如果出现以下图标说明安装正确

第1天 PHP环境搭建及多虚拟主机配置_第23张图片
image.png

注意

如果安装失败,有可能是缺少如下的windows系统模块:

image.png

则先双击安装它,然后再安装apache!

2.2.2. 测试安装结果

在浏览器中测试安装后的“默认网站”:

浏览这个地址: http://localhost,或http://127.0.0.1

可以看到页面,就表示安装配置成功!

第1天 PHP环境搭建及多虚拟主机配置_第24张图片
image.png

说明: localhost 指的是虚拟主机名(本地域名)
127.0.0.1 指的是本机的IP地址(本机回环地址)(每个电脑都有这个)
192.168.8.114 本机网卡的实际IP地址(在一个网段内是唯一的)

第1天 PHP环境搭建及多虚拟主机配置_第25张图片
image.png

image.png

测试:
更改Apache配置文件httpd.conf
第1天 PHP环境搭建及多虚拟主机配置_第26张图片
image.png

重启Apache,也即点击
image.png

restart即实现重启,然后访问时得
第1天 PHP环境搭建及多虚拟主机配置_第27张图片
image.png

强调:凡是更改Apache的配置文件,要想配置生效,都必须要重新启动Apache
一个重要理念:
所谓一个网站,就是一个文件夹!
所谓一个网页,就是一个文件!!
所有的网站没有中文目录,里面的每一个目录和文件都不要有中文

2.2.3. Apache目录介绍

目录/文件 介绍
bin****/ .exe, .dll等主要可执行程序的目录。
ApacheMonitor.exe 监视程序,通常用于apache服务的启停操作。
httpd.exe web服务器的主程序。该程序启动时,才能访问服务器。(通常都是以系统服务的形式启动)
conf****/ apache的配置文件目录
httpd.conf 是Apache的主配置文件,每次启动都会读取的文件。
conf/****extra****/ 其他配置文件目录
ht****tpd_vhosts.conf Apache虚拟主机的配置文件
htdocs****/ 网站的默认根目录,用于保存网站中的网页文件(html、php等)
logs****/ 存放apache运行时的有关运行记录
modules****/ 存放Apache的可扩展模块文件。

2.3. Apache的配置

2.3.1. apache主配置文件:httpd.conf

apache的主配置文件为:wamp/apache/config/httpd.conf
注意:
1,配置文件可以修改以实现某些功能。
2,配置文件修改后,需要重启apache才生效。
3,配置文件代码如果出错——则apache重启时会失败。

2.3.2. 检测配置文件语法

我们当然是试图写“正确的”代码,但谁都有可能出错。
关键是,我们常常不容易看出错在哪里!
这就需要有个“工具”来给我们指引方向:尽可能指出错误所在!
工具有现成的,就是:wamp/apache/bin/httpd.exe 这个文件(命令行文件)

用法:
在cmd命令行窗口中:
目录/httpd.exe(写完整路径) - t

image.png

2.3.3. 配置环境变量

如果配置好环境变量,该命令的执行就更便捷,类似这样:
httpd.exe(直接写文件名,无需路径) - t
配置环境变量的具体做法:
我的电脑》》右键》》属性,如下所示:

第1天 PHP环境搭建及多虚拟主机配置_第28张图片
image.png

在上述“path”中进行编辑:
第1天 PHP环境搭建及多虚拟主机配置_第29张图片
image.png

特别注意:不要删除之前的内容!!!!!!!!!!!!
配置好之后,就可以直接使用简单的命令语法了,如下:
第1天 PHP环境搭建及多虚拟主机配置_第30张图片
image.png

2.4. Apache的启动和停止

启动了apache,就表示web服务器可以使用(网站可以访问)。
停止了apache,就表示web服务器不能使用(网站不能访问)。

第1天 PHP环境搭建及多虚拟主机配置_第31张图片
image.png

2.4.1. 方式1:通过Apache服务监视器(apachemonitor.exe)

文件apachemonitor.exe的位置在wamp/apache/bin目录中。

2.4.2. 方式2:通过window系统服务:

搜索服务,出现以下界面,找到安装的程序:

第1天 PHP环境搭建及多虚拟主机配置_第32张图片
image.png

第1天 PHP环境搭建及多虚拟主机配置_第33张图片
image.png

2.4.3. 方式3:通过命令行方式(需管理员身份):

image.png

启动:net start apache2.4
停止:net stop apache2.4


第1天 PHP环境搭建及多虚拟主机配置_第34张图片
image.png

2.5. 认识几个相关概念

2.5.1. 服务器:

一般,指对外界提供某种功能服务的计算机系统。
通常有这些常用服务器: web服务器(Apache), 邮件服务器, ftp服务器, .....

2.5.2. 客户端:

通常就是访问服务器的终端设备。在web访问领域,通常也指浏览器软件。

2.5.3. 请求:

就是客户端向服务器端发出一定的“信息”,告知服务器“需要什么”。B/S架构输入一个网址,就是发起一次请求。

2.5.4. 响应(应答):

服务器根据访问者(请求方)的请求所返回的相应结果,结果其实就是一个网页。

2.5.5. IP地址:

就是一个服务器的在互联网上的“数字身份”,是其给分配的一个数字编码,类似这样:
192.168.8.114
112.34.123.82
小细节:共分4段,用英文点号(.)分割,每一段的数字只能从0-255。
特殊IP地址:
127.0.0.1:表示本机,就是自己正在操作(运行程序)的电脑的ip
192开头,172开头的ip地址:规定只用于局域网的ip地址。

2.5.6. 域名:

就是一个服务器的对外“好看好记”的名字。
取域名的作用,最主要是给人看,使人容易记住。
浏览器通过域名并不能找到对应服务器,而需要转换为ip地址才能找到——这就是“域名解析”过程。

第1天 PHP环境搭建及多虚拟主机配置_第35张图片
image.png

第1天 PHP环境搭建及多虚拟主机配置_第36张图片
image.png

2.5.7. 域名解析:

就是,输入域名时由某种设备或技术,将该域名转换为“ip地址”的过程——这样才能找到该服务器。
域名解析服务器(DNS):互联网上放置的很多的专门用于进行域名解析(域名转换为ip)的服务器设备。
网络上专门有域名和IP转换的DNS域名解析器
实际的解析过程:
1、现在本地的hosts文件中找IP和域名的对应的关系

第1天 PHP环境搭建及多虚拟主机配置_第37张图片
image.png

2、如果找不到,才去网上的DNS找域名和IP的对应关系
3、最终是通过IP访问服务器
所谓,解析,其实非常简单,就是“找对应关系”,比如:
192.168.155.61 www.luo.com
23.12.87.33 www.lining.com
其含义是:访问某个域名(网站),就可以找到对应该域名所在行的IP地址。
每台电脑,都有一个最精简的最小规模的“域名解析服务器”,其实只是一个文件:
位置在这里:windows/system32/drivers/etc/hosts(注意,最后这个是一个没有后缀的文件名)。
在有些操心系统中,需要使用“管理员身份”才能修改该文件。
演示:
第1天 PHP环境搭建及多虚拟主机配置_第38张图片
image.png

2.5.8. 端口:

可以理解为软件(网络)领域的电子化的“窗口”。其实,无非就是对于“一台”电脑,用于区分其可以对外提供的“多项服务”的一种数字编号设定。
Apache(或别的web服务器软件),默认都使用80端口来提供网站对外访问服务(就是web服务)!
又比如:
ftp服务器通常使用21端口来提供文件上传下载服务。
邮件服务器通常使用25端口提供发送邮件服务,并使用110端口来提供收取邮件服务。
图示如下:

第1天 PHP环境搭建及多虚拟主机配置_第39张图片
image.png

2.5.9. 统一资源定位器(url)

url就是 uniform resouece locator,即“统一资源定位器”,即我们通常所说的“网址”,是用于描述网络上某种资源的详细位置信息的一种规范,是一串字符串。其形式如下:
协议://服务器名[:端口号][/路径][/文件名]
其中,上述中括号中的部分是可以根据具体情况进行省略的。
比如:
http://www.baidu.com
http://www.baidu.com/index.php
http://ent.people.com.cn/n1/2018/0603/c1012-30030747.html

第1天 PHP环境搭建及多虚拟主机配置_第40张图片
image.png

第1天 PHP环境搭建及多虚拟主机配置_第41张图片
image.png

http:// 浏览器会默认省略
80 也会默认省略

2.6. 网站访问流程

从浏览器输入一个网址,到我们看到这个网页展示出来,其中的过程大致为:
1,先在本机的hosts文件中,查找域名所对应的ip;
2,如找到,则根据该ip就可以找到并访问该服务器了,服务器返回相应网页信息,访问结束。
3,如没有找到,则到互联网上的dns服务器中,查找域名所对应的ip;
4,如果找到,则根据该ip就可以找到并访问该服务器了,服务器返回相应网页信息,访问结束。
5,如果没有找到,则浏览器会有类似“无法找到服务器”的报错提示,访问结束。
完整图示如下:


第1天 PHP环境搭建及多虚拟主机配置_第42张图片
image.png

3. PHP的安装与配置(重点)

任务描述:
建立一个php文件(hello.php),内容如下:


放到apache/htdocs/目录下,并访问它:
http://localhost/hello.php
hello world

3.1. PHP的安装:

PHP官方网站: https://www.php.net/

第1天 PHP环境搭建及多虚拟主机配置_第43张图片
image.png

image.png

ts: thread safe 线程安全 windows系统使用apache作为web服务器用ts(多线程)
nts:: not thread safe 非线程安全 windows系统使用Nginx作为web服务器用nts(多进程)
PHP的安装也非常简单,就是拷贝文件——因为给大家的是一个“绿色版”。
将PHP语言包的压缩文件解压到计划中的文件夹中即可。
第1天 PHP环境搭建及多虚拟主机配置_第44张图片
image.png

3.1.1. PHP语言包中重要文件和文件夹:

1, php.exe: php程序,用于执行我们写的php脚本代码。
2, php7apache2_4.dll:****供apche2.4使用的php7模块文件。
3, php.ini-development 和 php.ini-production:用作php的配置文件。
4, ext目录: 用于存放php中的扩展模块的文件
PHP能够操作其他东西,如(数据库、大数据、图片等等),都是因为PHP有操作这个的模块

第1天 PHP环境搭建及多虚拟主机配置_第45张图片
image.png

3.2. 配置Apache使Apache可以调用PHP:

在apche的主配置文件apache/conf/httpd.conf中,添加以下两行:
** Apache之所以能做很多东西,也是因为Apache有很多模块。PHP是做为Apache的一个模块而工作。**
1,加载PHP模块到Apache中(作为Apache的众多模块之一):
在大约180行后,添加如下一行:

LoadModule   php7_module   php7apache2_4.dll这个文件的完整路径(在php文件夹中)

2,给apache设定,php文件的后缀为“.php”:
在随后添加如下一行:

AddType  Application/x-httpd-php  .php

重启apache!!!
课堂测试:
新建一个网页hello.php,其中输出“hello world” :


第1天 PHP环境搭建及多虚拟主机配置_第46张图片
image.png

查看源代码,如下:


第1天 PHP环境搭建及多虚拟主机配置_第47张图片
image.png

3.3. PHP的基本配置:

PHP的基本配置是一次性工作,做这一次就可以了。

3.3.1. 任务描述

下一个任务:通过PHP输出当前时间,代码如下:


第1天 PHP环境搭建及多虚拟主机配置_第48张图片
image.png

我们发现输出的时间结果是不对的。
这是因为PHP默认使用的时区是“格林威治时间”,比我们早8小时。
我们需要对PHP进行配置,并设定其运行时间为我们的北京时间。

3.3.2. 获得PHP的配置文件(php.ini)

在php语言包文件夹中,将php.ini-development文件拷贝一份,并修改文件名为:php.ini。


第1天 PHP环境搭建及多虚拟主机配置_第49张图片
image.png

3.3.3. 配置相关文件

这里需要做两件事情:
1,在apache的配置文件(httpd.conf)中设置php.ini的路径
就是让Apache知道我们的php.ini文件在哪里!apache是需要先读取到php.ini才能生效的。
具体做法:
在apache的配置文件(httpd.conf)中,添加php模块那行之后,再添加这一行:

PHPIniDir   “php.ini文件所在路径”

//注意:只要路径,不要文件名


第1天 PHP环境搭建及多虚拟主机配置_第50张图片
image.png

2,在php配置文件(php.ini)中设置timezone为PRC:


第1天 PHP环境搭建及多虚拟主机配置_第51张图片
image.png

切记:凡是更改php.ini和httpd.conf都需要重启Apache

3.4. 查看php执行环境

执行如下语句,就可以查看整个php的执行环境相关信息:
phpinfo();查看PHP的相关一些配置及环境信息


第1天 PHP环境搭建及多虚拟主机配置_第52张图片
image.png

第1天 PHP环境搭建及多虚拟主机配置_第53张图片
image.png

第1天 PHP环境搭建及多虚拟主机配置_第54张图片
image.png

4. MySQL的安装与配置

mysql的官网: https://www.mysql.com

第1天 PHP环境搭建及多虚拟主机配置_第55张图片
image.png

第1天 PHP环境搭建及多虚拟主机配置_第56张图片
image.png

4.1. MySQL的安装

image.png

然后一步一步往下安装:


第1天 PHP环境搭建及多虚拟主机配置_第57张图片
image.png

第1天 PHP环境搭建及多虚拟主机配置_第58张图片
image.png

第1天 PHP环境搭建及多虚拟主机配置_第59张图片
image.png

第1天 PHP环境搭建及多虚拟主机配置_第60张图片
image.png

4.2. MySQL的配置

mysql安装结束后,就可以理解进入到配置环节:


第1天 PHP环境搭建及多虚拟主机配置_第61张图片
image.png

第1天 PHP环境搭建及多虚拟主机配置_第62张图片
image.png

第1天 PHP环境搭建及多虚拟主机配置_第63张图片
image.png

第1天 PHP环境搭建及多虚拟主机配置_第64张图片
image.png

第1天 PHP环境搭建及多虚拟主机配置_第65张图片
image.png

第1天 PHP环境搭建及多虚拟主机配置_第66张图片
image.png

第1天 PHP环境搭建及多虚拟主机配置_第67张图片
image.png

第1天 PHP环境搭建及多虚拟主机配置_第68张图片
image.png

第1天 PHP环境搭建及多虚拟主机配置_第69张图片
image.png

第1天 PHP环境搭建及多虚拟主机配置_第70张图片
image.png

检测是否安装好:
1、打开服务,查看
第1天 PHP环境搭建及多虚拟主机配置_第71张图片
image.png

可能出现的问题:如果你发现启动mysql命令失败,那先来这里看看mysql服务是否启动
2、使用mysql的命令测试mysql是否安装好
cmd进入到
第1天 PHP环境搭建及多虚拟主机配置_第72张图片
image.png

执行 mysql.exe -uroot -p数据库密码
第1天 PHP环境搭建及多虚拟主机配置_第73张图片
image.png

退出 ctrl+c
错误分析:
第1天 PHP环境搭建及多虚拟主机配置_第74张图片
image.png

原因有二:1、没有安装mysql服务 2、没有启动mysql服务
第1天 PHP环境搭建及多虚拟主机配置_第75张图片
image.png

5. 多站点虚拟主机配置

5.1. 默认的初始站点配置

apache安装后,有一个默认站点,其配置都在apache的主配置文件(apache/conf/httpd.conf)中。
主要包括如下几项:
1,站点域名:
ServerName localhost
域名是可以设置的!
2,站点位置(文件夹位置):
DocumentRoot F:\wamp\Apache\htdocs
站点位置是可以设置的!
3,站点文件夹的访问权限设置:
使用 ... 配置项来配置。
4,站点默认显示的网页(首页):
DirectoryIndex index.php index.html
默认网页(首页)是可以设置的。
一项项的设置示例如下所示:

5.1.1. 网站域名的设置

语法为:
ServerName:要设定的网站域名(服务器名)


第1天 PHP环境搭建及多虚拟主机配置_第76张图片
image.png
第1天 PHP环境搭建及多虚拟主机配置_第77张图片
image.png
第1天 PHP环境搭建及多虚拟主机配置_第78张图片
image.png

5.1.2. 网站位置(根目录)的设置

第1天 PHP环境搭建及多虚拟主机配置_第79张图片
image.png
第1天 PHP环境搭建及多虚拟主机配置_第80张图片
image.png

5.1.3. 网站默认网页的设置

默认网页就是输入一个不带网页的文件名的路径的时候(最常见的就是只输入域名),自动打开的网页。
默认网页的设置方式如下:


第1天 PHP环境搭建及多虚拟主机配置_第81张图片
image.png

(其中IfModule指令是可以省略的)
语法为:
DirectoryIndex 网页名1 网页名2 网页名3 ....
说明:
1,可以设置多个网页,前面的不存在,就依次找后面的。
2,该设置项可以放在配置段中,表示该站点文件夹下的默认网页设置。

5.2. 多站点虚拟主机的含义:

在实际开发中,一个项目就是一个目录,每个项目都必须有一个虚拟主机,也即有一个域名
多站点虚拟主机:
是指,在一台物理意义上的电脑(服务器)中,配置多个网站/站点,并都可以对外提供“web访问服务”,外界看起来就是有多个站点(或多个服务器)的样子!
每个站点,也就是类似一个主机——这就是虚拟主机。

5.3. 配置多站点虚拟主机:

配置多站点虚拟主机可以分两步:
1, 在apache的主配置文件(httpd.conf),引入多站点的配置文件(虚拟主机配置文件)
2, 在虚拟主机配置文件(httpd-vhosts.conf)中,再挨个网站进行配置(每个网站一段配置)
分述如下:

5.3.1. 在apache的主配置文件中引入虚拟主机配置文件:

第1天 PHP环境搭建及多虚拟主机配置_第82张图片
image.png

5.3.2. 在虚拟主机配置文件(httpd-vhost.conf)中挨个站点进行配置

在虚拟主机配置文件中,就可以配置多个站点了,每个站点的形式大致如下:


第1天 PHP环境搭建及多虚拟主机配置_第83张图片
image.png

第1天 PHP环境搭建及多虚拟主机配置_第84张图片
image.png

第1天 PHP环境搭建及多虚拟主机配置_第85张图片
image.png

   #网站的根目录
   DocumentRoot "D:\xuexi"
   #虚拟主机(虚拟域名)
   ServerName  www.xuexi.com
   
    #显示所有目录结构
    Options Indexes FollowSymLinks
    #显示默认的网页
    DirectoryIndex index.php  index.html  index.htm  a.php
    #允许重写
    AllowOverride None
    #要求授权
    Require all granted
   

如果开启了http-vhost.conf,那么原有的localhost的配置不生效
但是又想使用localhost,怎么办?
最后,一个观念总结:
一个网站,就是一个文件夹;反过来说,一个文件夹,就可以当做一个网站!
谁在其中发挥作用?——Apache!

你可能感兴趣的:(第1天 PHP环境搭建及多虚拟主机配置)