一、apache与php结合
- 首先打开本地的telnet客户端(测试端口使用)
/usr/local/apache2.4/bin/apachectl start //启动apache服务
- 修改apache配置文件
- 因为之前加载了php5和php7,所以这里关闭其中一个,运行其中一个
vim /usr/local/apache2.4/conf/httpd.conf //修改以下4个地方 - ServerName 前面的#去掉
- Require all denied 改为 Require all granted
- 添加 AddType application/x-httpd-php .php
-
DirectoryIndex index.html 后加 index.php
- 保存配置文件之后
/usr/local/apache2.4/bin/apachectl -t //测试语法是否正确
/usr/local/apache2.4/bin/apachectl graceful //重新加载配置文件(无需重启apache)
在浏览器输入主机地址看看是否进入
无法连接
首先测试是否可以ping通,然后测试80端口是否通
经测试ip可以ping通,但是80端口不通,怀疑服务器防火墙没有打开80端口iptables -nvL //发现确实没有80端口 iptables -I INPUT -p tcp --dport 80 -j ACCEPT //临时打开80端口
这时候在cmd中telnet 192.168.127.133 80 出现黑窗口,证明80端口已经测通
重新在浏览器输入IP地址
vim /usr/local/apache2.4/htdocs/test.php //增加如下内容
<?php
phpinfo();
?>
在浏览器中打开http://192.168.127.133/test.php
成功显示php5的配置文件
- 如果apache无法解析php,而是显示源代码,那么我们需要检查以下项目
- /usr/local/apache2.4/bin/apachectl -M 检查php扩展是否加载,有无
/usr/local/apache2.4/modules/libphp5.so文件,确认是php问题还是apache配置问题 - 检查apache配置
loadmodule 是否加载php
3.检查apache配置
AddType application/x-httpd-php .php 是否添加
4.检查apache配置
DirectoryIndex index.html index.php 是否添加
- /usr/local/apache2.4/bin/apachectl -M 检查php扩展是否加载,有无
二、Apache默认虚拟主机
一台服务器可以访问多个网站,每个网站都是一个虚拟主机
概念:域名(主机名)、DNS、解析域名、hosts
任何一个域名解析到这台机器,都可以访问的虚拟主机就是默认虚拟主机
vim /usr/local/apache2.4/conf/httpd.conf //搜索httpd-vhost,去掉#
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //改为如下
<VirtualHost *:80>
DocumentRoot "/data/wwwroot/abc.com"
ServerName abc.com
ServerAlias www.abc.com
ErrorLog "logs/abc.com-error_log"
CustomLog "logs/abc.com-access_log" common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/data/wwwroot/123.com"
ServerName 123.com
ServerAlias www.123.com www.456.com
ErrorLog "logs/123.com-error_log"
CustomLog "logs/123.com-access_log" common
</VirtualHost>
/usr/local/apache2.4/bin/apachectl –t
/usr/local/apache2.4/bin/apachectl graceful
mkdir -p /data/wwwroot/abc.com/ /data/wwwroot/123.com/
echo "abc.com" > /data/wwwroot/abc.com/index.html
echo "123.com" > /data/wwwroot/123.com/index.html
curl -x192.168.127.133:80 www.good.com //这样会去访问www.abc.com/index.html
curl -x192.168.127.133:80 www.123.com //访问www.123.com
curl -x192.168.127.133:80 www.abc.com
www.abc.com就是默认虚拟主机
转载于:https://blog.51cto.com/13569831/2097645