5月28日任务

课程内容:

11.14/11.15 Apache和PHP结合
11.16/11.17 Apache默认虚拟主机

11.14/11.15 Apache和PHP结合

到目前为止虽然安装好了Apache、MySQL、PHP,但是还没有让他们结合在一起,虽然Apache调用了PHP作为它的模块,但是还没有做实验,还不知道是否能够解析PHP,所以还需要编辑一下Apache的也就是httpd的配置文件。

操作实例步骤如下:

[root@jimmylinux-002 ~]# /usr/local/apache2.4/bin/apachectl restart  重启服务时候出现的提示并非报错,而是一个警告信息,这个警告信息也是可以通过修改配置文件取消掉的。

[root@jimmylinux-002 ~]# vim /usr/local/apache2.4/conf/httpd.conf  修改以下4个地方

ServerName
Require all denied
AddType application/x-httpd-php .php
DirectoryIndex index.html index.php

修改好配置文件以后再重启服务 # /usr/local/apache2.4/bin/apachectl restart,如果出现以下报错,是因为配置文件中设置了PHP5和PHP7模块,把PHP7前面加上#注释掉即可。

重新启动服务已经没有之前的警告信息了

此时也可以通过IE访问虚拟机IP地址 192.168.52.129 是无法直接访问的,如果遇到这样的情况,首先我们要检查下IP地址是否可以ping通,如果可以ping通,可以使用Telnet看看是否能够远程 192.168.52.129 80 端口,默认Windows里面是没有安装Telnet的,可以在控制面板-->打开或关闭Windows功能,勾选Telnet客户端组件进行安装。

[root@jimmylinux-002 ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT  可以使用命令方式打开80端口

这个时候再刷新IE浏览器就可以正常访问了

如果把配置文件改为Require all denied

可以使用这个命令/usr/local/apache2.4/bin/apachectl -t 检查语法是否正确,如果正确会显示“syntax ok” 如果配置故意写错,则会显示“tion”。

[root@jimmylinux-002 ~]# /usr/local/apache2.4/bin/apachectl graceful

改完之后需要重新加载配置文件,这个命令只是重新加载配置文件,并不会重启服务,即使配置文件有问题,也只是加载不成功而已,不会杀死进程。这个时候再刷新IE页面就不能够访问了

需要修改的第二个地方,把配置文件的Require all denied修改为Require all granted ,这是为了防止出现403 forbidden。

第三个地方,因为要支持PHP,所以要在配置文件中添加一行内容 AddType application/x-httpd-php .php

如果不增加这行的话,PHP无法解析。

第四个地方,在配置文件中添加一个索引页 index.php

通过上面的操作后可以验证下Apache是否支持解析PHP呢,可以写一个简单的脚本测试一下。

增加一个文件是不需要重启PHP的,在IE访问 192.168.52.129/1.php 可以正常访问并有如下截图内容就说明PHP支持解析了。

假如把配置文件的这一行AddType application/x-httpd-php .php 前面加一个#注释掉,再重新访问IE就会以源代码的方式显示出来。

如果遇到PHP不能够解析的情况,需要检查下Apache配置文件。第一、要检查是否加载php5这个模块,如果没有加载,要看看有没有这个文件,第二、如果有文件并没有显示,那么就需要检查配置文件有没有加载modules/libphp5.so,没有加载也是不能解析的,第三、检查配置文件是否有加这一行AddType application/x-httpd-php .php,第四、需要加index.php。

同样也可以使用php7版本进行解析,在配置文件中把php5加#注释掉,这样就是使用php7版本了。

/usr/local/apache2.4/bin/apachectl graceful  重新加载配置文件后刷新IE浏览器就可以看到是php7版本的内容

11.16/11.17 Apache默认虚拟主机

可以通过修改Windows的host文件指定IP和域名,在Apache的配置文件并没有定义,这个就叫Apache的默认主机,也就是说任何一个域名只要指向到这个IP,同样都可以访问到这个站点,这个站点就叫默认虚拟主机。

C:\Windows\System32\drivers\etc

修改成以下形式

重新访问IE页面就会出现以下界面,同样可以正常访问。

通过上面步骤操作好以后,就可以编辑httpd.conf主配置文件,并删除vhost这一行的注释#

编辑虚拟主机配置文件/usr/local/apache2.4/conf/extra/httpd-vhosts.conf

按照如下截图内容进行修改

然后创建对应的目录

vim /data/wwwroot/abc.com/index.php  需要在对应的站点根目录下创建一个配置文件

vim /data/wwwroot/111.com/index.php  另外一个也需要创建一个配置文件

定义好对应的站点根目录和配置文件后重新加载配置文件 /usr/local/apache2.4/bin/apachectl graceful

接下来测试一下虚拟主机

如果想在本机上访问abc.com,可以编辑host文件绑定,也可以使用curl命令。

无论访问什么域名,只要解析到这个IP上,都会访问这个网站对应的虚拟主机配置(这个虚拟主机配置就是abc.com)

总结:

1、如果在主配置文件中httpd.conf 打开了虚拟主机配置文件,把前面的#删除掉,这个时候虚拟主机配置文件生效,那么在httpd.conf定义的DocumentRoot以及ServerName失效。

2、虚拟主机配置文件一旦打开,它里面可以定义很多个VirtualHost,每个VirtualHost都有一个对应的DocumentRoot和ServerName,ServerName可以写多个,每一个VirtualHost都代表一个站点,都是一个虚拟主机,在虚拟主机里面有一个比较特殊的就是默认虚拟主机,所谓默认虚拟主机是指无论任何域名解析到这个IP上,都会去访问这个默认虚拟主机。

 

Apache和PHP结合、Apache默认虚拟主机的更多相关文章

  1. Linux centos7VMware Apache和PHP结合、Apache默认虚拟主机

    一.Apache和PHP结合 httpd主配置文件/usr/local/apache2.4/conf/httpd.conf 启动报错 [root@davery ~]# /usr/local/apach ...

  2. apache禁止默认虚拟主机

    禁止默认虚拟主机:作用使除特定域名外,其它的域名/ip无法访问此站点. 在虚拟主机配置文件中 即:/usr/local/apache2/conf/extra/httpd-vhosts.conf 将其中 ...

  3. 基于Apache在本地配置多个虚拟主机站点

    简单的说,打开httpd.conf 在最后加入如下内容: <VirtualHost 127.0.0.2:80>    DocumentRoot d:/AppServ/www2    Ser ...

  4. [转] linux学习第四十四篇:Nginx安装,Nginx默认虚拟主机,Nginx域名重定向

    Nginx安装 进入存放源码包的目录: cd /usr/local/src 下载源码包: wget http://nginx.org/download/nginx-1.12.1.tar.gz 解压: ...

  5. Nginx安装、默认虚拟主机、Nginx用户认证和域名重定向

    6月7日任务 12.6 Nginx安装12.7 默认虚拟主机12.8 Nginx用户认证12.9 Nginx域名重定向 扩展nginx.conf 配置详解 http://www.ha97.com/51 ...

  6. nginx的安装 、Nginx默认虚拟主机、nginx用户认证、nginx 域名重定向

    1.nginx:官网:www.nginx.org 下载:wget -c  http://nginx.org/download/nginx-1.14.0.tar.gz解压:tar -zxvf nginx ...

  7. LAMP 1.8默认虚拟主机

    默认虚拟主机是为了解决别人域名恶心绑定自己的服务器ip,可导致服务器上的网站排名靠后,即干扰seo优化 我们访问指定的两个网站可以直接访问,ip也可以访问 打开配置文件 vim /usr/local/ ...

  8. nginx创建默认虚拟主机

    创建默认虚拟主机配置文件作用:禁止任何人通过ip或未允许的域名访问web服务. 如:vim vhosts/default.conf server { listen 80 default; server ...

  9. Linux centosVMware Nginx安装、 默认虚拟主机、Nginx用户认证、Nginx域名重定向

    一. Nginx安装 cd /usr/local/src wget http://nginx.org/download/nginx-1.12.1.tar.gz 版本在http://nginx.org/ ...

随机推荐

  1. Python 加密 shellcode 免杀

    Python 加密 shellcode 免杀 环境准备:   Windows7 32 位系统: Shellcode 使用 kali linux Metasploit 生成 shellcode Wind ...

  2. [2018-07-19] 安装python

    1.Python官网 https://www.python.org/downloads/ 2.应该使用Python2.x还是Python3.x? Python有2.x和3.x两个版本,这两个版本是不兼 ...

  3. 震惊!我竟然发现了JDK源码的问题

    读源码时的思考 最近在看concurrent包下线程池的源码,当我看到ThreadPoolExecutor类的时候,发现了JDK源码的一个问题.以下是ThreadPoolExecutor类的addWo ...

  4. 最新JetBrains PyCharm 使用教程--常用功能设置(三)

    选择代码路径和Python解释器版本 ​ 设置Pycharm菜单字体的大小 ​ 设置编辑器里面字体大小 ​ 设置文件编码 ​ 设置背景颜色 ​ 设置tab键为4个空格 ​ 设置代码内容和关键字颜色 ​ ...

  5. 深入理解java继承从“我爸是李刚”讲起

    目录 1.继承的概述 2.关于继承之后的成员变量 3.关于继承之后的成员方法 4.关于继承之后的构造方法 5.关于继承的多态性支持的例子 6.super与this的用法 前言 本文主要多方面讲解jav ...

  6. mysql里面的时间获取(格式年月日)

    1.当前日期 select DATE_SUB(curdate(),INTERVAL 0 DAY) ; 2.明天日期 select DATE_SUB(curdate(),INTERVAL -1 DAY) ...

  7. springboot使用dubbo和zookeeper

    2019-11-17 yls 创建服务接口模块 接口工程只提供接口,不提供实现,在后面的提供者和消费者中使用 在使用接口的模块中只需要写具体实现类,避免了在每个模块中重复编写接口 在接口中引入依赖包 ...

  8. FreeSql v0.11 几个实用功能说明

    FreeSql 开源发布快一年了,立志成为 .Net 平台方便好用的 ORM,仓库地址:https://github.com/2881099/FreeSql 随着不断的迭代更新,越来越稳定,也越来越强 ...

  9. linux系统LAMP环境部署

    一.安装虚拟机 二.安装CentOS7 注意:以下安装,用的root权限. 三.安装Apache 1.安装 yum -y install httpd 2.开启apache服务 systemctl st ...

  10. springboot配置springMVC

    /** * @ClassName MvcConfigure * @Description SpringMVC配置 * @Author JAGNG * @Date 2019/10/28 10:23 ** ...