Apache和PHP结合、Apache默认虚拟主机
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默认虚拟主机的更多相关文章
- Linux centos7VMware Apache和PHP结合、Apache默认虚拟主机
一.Apache和PHP结合 httpd主配置文件/usr/local/apache2.4/conf/httpd.conf 启动报错 [root@davery ~]# /usr/local/apach ...
- apache禁止默认虚拟主机
禁止默认虚拟主机:作用使除特定域名外,其它的域名/ip无法访问此站点. 在虚拟主机配置文件中 即:/usr/local/apache2/conf/extra/httpd-vhosts.conf 将其中 ...
- 基于Apache在本地配置多个虚拟主机站点
简单的说,打开httpd.conf 在最后加入如下内容: <VirtualHost 127.0.0.2:80> DocumentRoot d:/AppServ/www2 Ser ...
- [转] linux学习第四十四篇:Nginx安装,Nginx默认虚拟主机,Nginx域名重定向
Nginx安装 进入存放源码包的目录: cd /usr/local/src 下载源码包: wget http://nginx.org/download/nginx-1.12.1.tar.gz 解压: ...
- Nginx安装、默认虚拟主机、Nginx用户认证和域名重定向
6月7日任务 12.6 Nginx安装12.7 默认虚拟主机12.8 Nginx用户认证12.9 Nginx域名重定向 扩展nginx.conf 配置详解 http://www.ha97.com/51 ...
- nginx的安装 、Nginx默认虚拟主机、nginx用户认证、nginx 域名重定向
1.nginx:官网:www.nginx.org 下载:wget -c http://nginx.org/download/nginx-1.14.0.tar.gz解压:tar -zxvf nginx ...
- LAMP 1.8默认虚拟主机
默认虚拟主机是为了解决别人域名恶心绑定自己的服务器ip,可导致服务器上的网站排名靠后,即干扰seo优化 我们访问指定的两个网站可以直接访问,ip也可以访问 打开配置文件 vim /usr/local/ ...
- nginx创建默认虚拟主机
创建默认虚拟主机配置文件作用:禁止任何人通过ip或未允许的域名访问web服务. 如:vim vhosts/default.conf server { listen 80 default; server ...
- Linux centosVMware Nginx安装、 默认虚拟主机、Nginx用户认证、Nginx域名重定向
一. Nginx安装 cd /usr/local/src wget http://nginx.org/download/nginx-1.12.1.tar.gz 版本在http://nginx.org/ ...
随机推荐
- 机器阅读理解(看各类QA模型与花式Attention)
目录 简介 经典模型概述 Model 1: Attentive Reader and Impatient Reader Model 2: Attentive Sum Reader Model 3: S ...
- [Python]python面向对象 __new__方法及单例设计
__new__ 方法 使用 类名() 创建对象时,Python 的解释器 首先 会 调用 __new__ 方法为对象 分配空间 __new__ 是一个 由 object 基类提供的 内置的静态方法,主 ...
- CSPS模拟 41
说不会鸽就不会鸽的 虽然是炸裂的一场 T1没读懂题,T23交了两个无脑暴力 (公式懒得打了 latex过于感人) T1 点阵内不重合的直线有多少条? 枚举斜率,那么“后继”不在点阵内的点可以作出一个贡 ...
- 8.5 NOIP 模拟测试 13
今天的考试说实话T1很简单没A,我是傻X.T2T3难得一批,但是暴力的分还是拿了! 总结一下就是:骗分过样例,暴力出奇迹!只要瞎搞就行了! 话说现在终于不像之前那么傻了,终于知道打暴力了,因为之前暴力 ...
- 编程工具 | VScode 使用快捷键
按 Press 功能 Function Ctrl + Shift + P,F1 显示命令面板 Show Command Palette Ctrl + P 快速打开 Quick Open Ctrl + ...
- python——掌握sorted函数的用法
看本篇文章的前提是掌握 00函数的基本概念.01函数参数传递方式 可参考本人博客文章 sorted函数 是一个内建函数,接收一个可迭代对象,按照指定类型.指定顺序进行排序,特点是返回一个新的列表,不改 ...
- php查询字符串的函数
/* 查找一个字符串在另一个字符串的第一次出现,并返回其余部分(strstr别名) */ var_dump(strchr("hello world hello", "wo ...
- css字体图标的制作
我介绍的这个办法是直接在 "阿里巴巴图标库"中制作的,方便快捷 1. 首先到 "阿里巴巴图标库"中找到你想要的图片,然后选择加入购物车 接着我们点击右上角的购物 ...
- vue 选择图片(限定大小)上传到服务器
FormData: https://developer.mozilla.org/zh-CN/docs/Web/API/FormData/Using_FormData_Objects 成果: htm ...
- C语言1博客作业01
1 你对软件工程专业或者计算机科学与技术专业了解是怎样? 主修大数据技术导论.数据采集与处理实践(Python).Web前/后端开发.统计与数据分析.机器学习.高级数据库系统.数据可视化.云计算技术. ...