LAMP架构(Apache和PHP结合、Apache默认虚拟主机)

Apache和PHP结合:配置httpd支持php

  • 修改主配置文件 /usr/local/apache2.4/conf/httpd.conf
    • ServerName 处取消注释(解决apache启动时提示ServerName的问题)
    • Directory标签下 Require all denied修改为granted,解决访问403问题
    • 增加php的解析 AddType application/x-httpd-php .php
    • 增加索引页 DirectoryIndex index.html index.php

此处的403指的是启动apache的时候弹出的403警告(见下图),解决方法就是取消ServerName的注释:

  • 此时启动时报错:
[root@yolks2 conf]# /usr/local/apache2.4/bin/apachectl start
/usr/local/apache2.4/bin/apachectl: 行 79:  6766 段错误               $HTTPD -k $ARGV

查看/usr/local/apache2.4/conf/httpd.conf文件,发现之前安装PHP5和PHP7的时候此处加载了两个模块,此处引起的冲突,注释掉任意一个即可保存文件再次重启试试。

启动情况:可以看到此处问题已解决

  • 此处使用windows机器浏览器输入linux虚拟机器IP地址,提示不能打开

  • 我们使用windows机器进行ping测试,测试发现可以通

  • 临时添加80端口客户机测试
iptables  -I  INPUT  -p  tcp  --dport  80  -j  ACCEPT

  • 直接输入ip地址即可看到显示 it works

  • 检查apache配置文件是否有错误
/usr/local/apache2.4/bin/apachectl  -t 

  • 不重启服务重新加载配置文件
/usr/local/apache2.4/bin/apachectl  graceful
  • 编写php文件测试
vi  /usr/local/apache2.4/htdocs/test_20171015.php

<?php
phpinfo();
?>

正常解析如图

  • 不正常解析则显示源代码,排查步骤如下:
    • 检查加载模块是否有php模块,例如:ls /usr/local/apache2.4/modules/libphp5.so 文件是否存在
    • 配置文件检查,例如: vim /usr/local/apache2.4/conf/httpd.conf里有没有libphp5.so配置存在
    • 检查AddType的php解析,配置规范不规范有没有漏掉空格等

Apache虚拟主机

  • 编辑apache主配置文件开启虚拟主机
    • /usr/local/apache2.4/conf/httpd.conf文件中 开启Virtual hosts

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

  • 上图所示的VirtualHost标签对中字段的含义:
    • ServerAdmin : 在所有返回给客户端的错误信息中包含的管理员邮件地址
    • DocumentRoot : 定义网站根目录
    • ServerName : 域名
    • ServerAlias : 域名别名
    • ErrorLog : 错误日志文件保存位置
    • CustomLog : 客户请求日志
  • 创建上图所示的目录
mkdir  /data/wwwroot/

mkdir  /data/wwwroot/abc.com

mkdir  /data/wwwroot/111.com
  • 编写虚拟主机abc目录的测试php文件
vim   /data/wwwroot/abc.com/idnex.php

//  编写测试内容如下

<?php
echo "this is test abc.com";
?>
  • 编写虚拟主机111目录的测试php文件
vim   /data/wwwroot/111.com/idnex.php

//  编写测试内容如下

<?php
echo "this is test 111.com";
?>
  • 测试配置是否正常
/usr/local/apache2.4/bin/apachectl  -t
  • 重新加载配置文件
/usr/local/apache2.4/bin/apachectl  graceful
  • 测试
curl  -x192.168.248.129:80  www.abc.com
[root@yolks2 conf]# curl -x192.168.248.129:80 www.abc.com
this is test abc.com[root@yolks2 conf]# curl -x192.168.248.129:80 www.111.com
this is test abc.com[root@yolks2 conf]# curl -x192.168.248.129:80 www.123.com
this is test abc.com

如果我们访问 www.example.com 则会指向配置的111.com目录下的index.php或者通过111.com访问

[root@yolks2 conf]# curl -x192.168.248.129:80 www.example.com
this is test 111.com[root@yolks2 conf]#curl -x192.168.248.129:80 111.com
this is test 111.com[root@yolks2 conf]#
  • 总结
  1. 主配置文件只要开启Virtual hosts ,本主配置文件的ServerName失效,DocumentRoot也失效
  2. 虚拟主机配置文件打开即可配置多个Virtual hosts标签对,每个Virtual hosts都有自己的DocumentRoot和ServerName,一个Virtual hosts代表一个站点,都是一个虚拟主机。默认虚拟主机即无论任何域名都会访问默认主机。

转载于:https://my.oschina.net/yolks/blog/1922598

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值