Apache和PHP结合,Apache默认虚拟主机
2017-12-20 00:00
761 查看
Apache和PHP结合
httpd主配置文件/usr/local/apache2.4/conf/httpd.confvim /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 -t //测试语法
/usr/local/apache2.4/bin/apachectl start //启动服务
netstat -lntp curl localhost vim /usr/local/apache2.4/htodcs/test.php //增加如下内容
<?php
echo 123;
?>
curl localhost/test.php
配置httpd支持php
打开httpd的配置文件,vim /usr/local/apache2.4/conf/httpd.conf修改ServerName
之前,ctrl+z退出,运行/usr/local/apache2.4/bin/apachectl start ,会跳出一个警告可以fg回到,编辑配置文件中,搜索/ServerName,去掉# ServerName www.example.com:80前面的#
然后注释掉PHP7,就不会出现警告了
查看httpd的进程
修改Require all denied
首先打开浏览器,直接访问ip,发现无法访问;排查:首先ping ip是否是通的,然后判断80端口是否是通的,发现Windows没有打开Telnet客户端(控制面板-程序-打开或关闭Windows功能-Telnet客户端)
添加80端口规则
这时候访问ip,网页就会显示it works
删除规则,就会发现ip又ping不通了,再增加规则就恢复通了
再到配置文件中搜索denied,将Require all denied改成Require all granted
检查配置文件语法是否正确
重新加载配置文件
如果配置文件中Require all denied没改,然后再刷新网页,会出现403Forbidden(正常是200)
增加一行与PHP相关的配置
首先搜AddType,找到下图中的上两行并增加一行AddType application/x-httpd-php .php增加一个索引页
首先搜索Index,找到<IfModule dir_module>,如下图增加index.php然后检查配置文件语法正误,再重新加载配置文件
验证Apache是否支持解析php5
首先写一个测试的php脚本,添加内容如下然后在浏览器访问ip后面加上/1.php,出现以下界面表示解析成功
如果不支持解析,则访问的是源代码
注意:如果遇到解析不了的,要检查Apache配置文件
是否加载PHP5?执行/usr/local/apache2.4/bin/apachectl -M命令,查看有没有php5_module (shared)
查看/usr/local/apache2.4/modules/libphp5.so文件是否存在
在配置文件里看有没有加载 LoadModule php5_module modules/libphp5.so这一行配置?
在配置文件中有没有加载AddType application/x-httpd-php .php
配置文件中有没有加了index.php
验证Apache是否支持解析php7
打开配置文件,输入/libphp7,在配置文件中注释掉PHP5,将PHP7前的注释符#去掉快捷键 ctrl+r ,可以快速执行命令历史中所用过的一些命令;
使用方法:输入想要命令中的相同单词
然后检查配置文件语法正误,再重新加载配置文件
访问ip,网页出现如下图所示,也表示解析生效
Apache默认虚拟主机
一台服务器可以访问多个网站,每个网站都是一个虚拟主机概念:域名(主机名)、DNS、解析域名、hosts
任何一个域名解析到这台机器,都可以访问的虚拟主机就是默认虚拟主机
vim /usr/local/apache2/conf/httpd.conf //搜索httpd-vhost,去掉#
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf //改为如下 <VirtualHost *:80> ServerAdmin admin@aminglinux.com DocumentRoot "/data/wwwroot/aming.com" ServerName aming.com ServerAlias www.aming.com ErrorLog "logs/aming.com-error_log" CustomLog "logs/aming.com-access_log" common </VirtualHost> <VirtualHost *:80> DocumentRoot "/data/wwwroot/www.123.com" ServerName www.123.com </VirtualHost>
/usr/local/apache2/bin/apachectl –t
/usr/local/apache2/bin/apachectl graceful
windows下的hosts
hosts的位置 C:\Windows\System32\drivers\etc\hosts用记事本打开方式打开Windows下的hosts
在其中添加两个域名保存,如下图
然后去看能不能ping通域名
如果不写hosts,去ping域名,发现会是公网ip
hosts的作用就是让你临时访问到一个服务器上去,一般在在DNS还没有生效的时候使用
然后访问ip,会出现如下图所示
同样可以访问www.123.com/1.php
在/usr/local/apache2.4/conf/httpd.conf 配置文件中,搜索/extra,找到virtual hosts,去掉下面一行前面的#,保存退出
然后打开一个二级配置文件(虚拟主机配置文件)
每对< VirtualHost *:80 >和< /VirtualHost >代表一个主机,就是一个网站
ServerAdmin webmaster@dummy-host.example.com,定义管理员的邮箱可以删掉
DocumentRoot "/usr/local/apache2.4/docs/dummy-host.example.com",定义网站的根目录在哪
ServerName dummy-host.example.com,服务器名字
ServerAlias www.dummy-host.example.com ,定义别名(一个网站可以有多个域名访问)
ErrorLog "logs/dummy-host.example.com-error_log" ,错误日志
CustomLog "logs/dummy-host.example.com-access_log" common ,访问日志
修改虚拟主机配置文件
创建对应的目录
在对应的站点根目录下创建一个php,添加内容
然后检查配置文件语法正误,再重新加载配置文件
测试虚拟主机
curl命令curl -x访问指定端口
再访问www.example.com,结果访问到了111.com
在主配置文件中,打开了虚拟主机配置文件,一旦虚拟主机配置文件生效,那主配置文件里面所定义的DocumentRoot以及ServerName失效
默认虚拟主机,就是无论访问什么域名,只要解析到这个IP上,它都会访问这个网站对应的虚拟主机
相关文章推荐
- Apache和PHP结合、Apache默认虚拟主机
- 11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机
- Apache和PHP结合,Apache默认虚拟主机
- 4.Apache和PHP结合 Apache默认虚拟主机
- 11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机
- linux的Apache(http)与PHP的结合配置及Apache默认虚拟主机
- 11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机
- PHP和Apache结合 Apache默认虚拟主机
- 2018-3-1 10周2次课 Apache和PHP结合、Apache默认虚拟主机
- Apache和PHP结合,Apache默认虚拟主机
- linux学习第三十八篇: Apache和PHP结合,Apache默认虚拟主机
- 11.14 ,11.15Apache和PHP结合(上下);11.16 ,11.17Apache默认虚拟主机(上下)
- PHP和Apache结合 Apache默认虚拟主机
- 十周第二次课 2017.12.19 Apache和PHP结合、Apache默认虚拟主机
- Apache和PHP结合、Apache默认虚拟主机
- LAMP架构(apache与php结合,apache默认虚拟主机)
- Apache与PHP的结合配置、Apache默认虚拟主机
- 11.14—11.15Apache和PHP结合(上下)11.16-11.17Apache默认虚拟主机
- 【LAMP环境搭建】Apache和PHP结合、Apache默认虚拟主机