十周第二次课 2017.12.19 Apache和PHP结合、Apache默认虚拟主机

来源:互联网 发布:bluetooth网络连接设置 编辑:程序博客网 时间:2024/05/18 16:14

11.14/11.15 Apache和PHP结合


1.编辑httpd的配置文件,去掉的井号。

2.把改成

3.因为我们要支持php,所以要增加一行和php有关的配置在这个位置,

4.把改成(好多网址后面是有index.php的,但是我们不加也能访问就是这个操作在起作用)

改好之后使用检查配置语法是否正确,然后重新加载配置文件

5.我们可以来验证一下现在apache到底支不支持解析php呢,我们可以写一个测试的php脚本:

然后在里面添加并保存,然后在浏览器打开ip地址后面加/1.php,如果出现一个表格就说明php支持解析了,如果不支持解析就会显示我们刚刚添加的源代码。

如果解析不了就要看看Apache配置文件,看看有没有加载php5。

如果没有加载你需要看看有没有这个模块,

如果有模块我们就需要检查一下配置文件

看看里面有没有加载php5的这行配置,

如果有那么我们继续检查配置文件里有没有加

(在浏览器打开ip地址的时候404,遇到这种情况我们排查的时候可以先用windows运行ping一下ip通不通,然后再看看端口通不通,用运行看端口通不通的时候会提示没有该命令,我们需要设置一下,在windows的控制面板里,程序和功能里的打开或关闭windows功能里,然后点击然后点确定。

如果80端口通的,那么就会显示空白,如果端口不通会显示正在连接,如果端口不通那么一定是linux没有打开端口,我们可以给它加上80端口,之后浏览器应该就可以访问了。)

我们刚刚一直用的的php5,我们可以换成7再用浏览器打开试试看,

11.16/11.17 Apache默认虚拟主机

默认虚拟主机可以理解成Apache(httpd)一个服务下面跑了多个网站(域名),每个域名对应一个虚拟主机。

Windows下写hosts,可以在里面定义一个ip,定义一个域名,然后让这个域名指向到这个ip。


作用就是让你临时访问到一个服务器上去。(在dns还没生效的时候可以用)

但是我们并没有在linux的httpd文件里定义它ip或者域名为什么在浏览器可以直接用ip加index.php访问呢,因为配置文件里有,这个叫做Apache默认主机,也就是任何一个域名只要是指向到这个ip它都会访问到这个站点。

如果不想所有域名都指向一个ip我们可以给它打开一个虚拟主机配置文件,在配置文件里搜索extra,然后把

的第二行井号去掉,然后我们就可以打开虚拟主机配置文件,地址如下


里面一个都代表一个主机,一个主机就是一个网站。(如果不打开虚拟主机配置文件就只能访问到一个主机)

我们可以给它定义一下,

定义网站根目录,

定义域名

定义网站别名,可以写多个。

指定错误日志和访问日志。

这样我们就定义了一个网站(最核心的是网站根目录,域名,别名)


虚拟主机配置文件生效的话之前定义的会失效,

我们可以验真一下,再来添加一个但是它的根目录是在



然后我们创建网站根目录,在abc.com目录里面新建一个index.php

然后在里面加上

在111.com目录里面也新建一个index.php然后在里面加上

然后我们检查一下是否有错误然后重新加载(使用ctrl+i快一点)

然后我们测试一下虚拟主机。

这里介绍一下curl命令

curl -x 比如说我们要访问一个www.abc.com,ping的话会ping到外网上去,要想用这个域名访问本机就需要在hosts里指定,还可以使用curl -x,如下图

(无论什么域名都会访问到abc.com,abc.com就是我们虚拟主机配置文件的第一个虚拟主机,它就是默认虚拟主机,默认虚拟主机就是只要解析到这个ip上它都会访问这个网站对应的虚拟主机配置)

我们还可以访问,(我们在默认主机和默认虚拟主机都有定义它)


结果也验证了当默认主机和了默认虚拟主机都定义了以个域名,默认主机的定义会失效。