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/ ...
随机推荐
- 安装实时查看日志工具 log.io
官网:http://logio.org/ 一.环境 [root@centos ~]# cat /etc/system-release CentOS release 6.5 (Final) [root@ ...
- MySQL查询-分组取组中某字段最大(小)值所有记录
最近做东西的时候,用到一个数据库的查询.将记录按某个字段分组,取每个分组中某个字段的最大值的所有记录.举栗子来说. 已知分数表“score”,包含字段“id", "name&quo ...
- 利用python的requests和BeautifulSoup库爬取小说网站内容
1. 什么是Requests? Requests是用Python语言编写的,基于urllib3来改写的,采用Apache2 Licensed 来源协议的HTTP库. 它比urllib更加方便,可以节约 ...
- [考试反思]1108csp-s模拟测试105: 傀儡
评测机是真的老了... 我的脑力也老了... 昨天写完T3之后感觉脑子就留在那了,直到现在还感觉自己神志不清... T1OJ上过了(跑得挺慢但是的确过了),但是文件评测同样是开O2居然只剩下70分.. ...
- [考试反思]0812NOIP模拟测试18:稀释
[]200 [4]190[5]180 [6]170[7]150 [11]140[16]130[19]120[24]100 有些事情,看淡了,也就简单了. 连续爆炸之后,没什么感觉了. 把态度放正,把结 ...
- 模板(ac):启发式合并
首先说明一点:线段树合并不是启发式合并. 启发式合并的大概内容就是:把小的数据结构按照这个数据结构的正常插入方法,一个一个地暴力塞进去. 而线段树合并显然不是这个东西. 这道题的题解太烂了,所以耽误了 ...
- 网站安全配置Nginx防止网站被攻击
https://blog.csdn.net/u011078940/article/details/51426288
- 基于 H5 Canvas 实现楼宇自控系统
前言 楼宇自控是指楼宇中电力设备,如电梯.水泵.风机.空调等,其主要工作性质是强电驱动.通常这些设备是开放性的工作状态,也就是说没有形成一个闭环回路.只要接通电源,设备就在工作,至于工作状态.进程.能 ...
- .net core 对象序列化为Json及Json反序列化关于DataContractJsonSerializer和Newtonsoft使用的完整案例,源码已更新至开源模板
很多人告诉你怎么用,但是却不会告诉你用什么好.不知道在进行序列化和反序列化Json时用那个好,因为有太多选择,如.NET Framework下可以选DataContractJsonSerializer ...
- 创建windows系统下的虚拟机
创建新的虚拟机 添加映像(windows系统下必须先添加映像) 选择相应的镜像文件:网上查找密钥输入:版本按要求选择:单击 下一步:设置虚拟机名称 位置 :下一步 默认的磁盘大小(不用管)——下一 ...