11.14/11.15 apache和PHP结合(上下)
· /usr/local/apache2/conf/httpd.conf httpd主配置文件
· vim /usr/local/apache2/conf/httpd.conf 修改以下4个地方
ServerName (删除#号)
Require all denied 改成Require all granted
AddType application/x-httpd-php .php 在AddType两行下增加一行 (/addtype 搜索addtype)不加php没办法解析
Directoryindex index.html index.php 在dirctoryindex index.html之后加上 index.php 方便访问
Windows访问虚拟机ip需要虚拟机打开80端口(前提能ping通)(iptables -I INPUT -p tcp --dport 80 -j ACCEPT打开80端口命令 -d删除)
Windows ping80端口,需要打开telnet客户端(telnet “ip” 80) 不通显示正在连接,ctrl+] 退出,quit在退出
· /usr/local/apache2.4/bin/apachectl -t 测试语法(写错可以检查出)
· /usr/local/apache2.4/bin/apachectl graceful 重新加载配置文件。要是配置文件有问题最多加载不成功
· /usr/local/apache2.4/bin/apachectl start 启动服务
· netstat -lntp
· curl localhost
· vim /usr/local/apache2.4/htdocs/test.php 测试脚本 增加如下内容
<?php
echo 123; 或phpinfo();
?>
用windows浏览器访问虚拟机ip
只访问到源代码(不能解析),
1,/usr/local/apache2.4/bin/apachectl -M 查看有没有加载php模块
2,ls /usr/local/apache2.4/modules/libphp5.so 模块没加载时
看有没有这个文件。
3,vim /usr/local/apache2.4/conf/httpd.conf 检查配置文件(是否有加载这两行配置)
Loadmodules php5_modules modules/libpphp5.so php7就换php7的这行。把php5注释
AddType application/x-httpd-php .php
· curl localhost/test.php
11.16/11.17 Apache默认虚拟主机(上下)
httpd的默认虚拟主机
· 一台服务器可以访问多个网站,每个网站都是一个虚拟主机
· 概念:域名(主机名),DNS,解析域名,hosts
· 任何一个域名解析到这台机器,都可以访问的虚拟主机就是默认虚拟主机
· vim /usr/local/apache2/conf/httpd.conf 搜索httpd-vhost,去掉#
· vim /usr/local/apache2/conf/extra/httpd-vhosts.conf (二级x虚拟主机配置文件)改为如下
<VirtualHost *:80>
ServerAdmin admin@aminglinux.com
DocumentRoot “/data/wwwroot/aming.com” 网站根目录
ServerName aming.com 访问域名
ServerAlias www.abc.com alias支持写多个域名
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
Errorlog “logs/111.com-error_log”
CustomLog “logs/111.com-access_log” common
</VirtualHost>
保存退出之后创建对应的目录。
mkdir /data/wwwroot/
mkdir /data/wwwroot/aming.com
mkdir /data/wwwroot/111.com
vim /data/wwwroot/111.com/index.php
<?php
echo “111.com”;
vim /data/wwwroot/abc.com/index.php 内容如下
<?php
echo “abc.com”;
· /usr/local/apache2/bin/apachectl -t 测试语法
· /usr/local/apache2/bin/apachectl graceful重新加载
curl -x192.168.133.130:80 abc.com 访问默认虚拟主机(无论任何域名解析到这个ip上都会去访问这个默认虚拟主机)