您的位置:首页 > 运维架构 > Apache

11.14—11.15Apache和PHP结合(上下)11.16-11.17Apache默认虚拟主机

2018-03-01 17:17 615 查看
11.14 -11.15Apache和PHP结合(上下)
1. Windows系统上,打开:Telnet 客户端





勾选:Telnet 客户端





2. 在Windows上,检查Linux服务器ip的80端口是否打开 ?
C:\Users\VULCAN>telnet 192.168.223.128 80





3. Linux服务器上打开80端口(必须是httpd已启动) :
[root@hao-001 ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT
(关闭80端口:iptables -D INPUT -p tcp --dport 80 -j ACCEPT )
4. 再次在Windows上,检查Linux服务器ip的80端口是否打开 ?
C:\Users\VULCAN>telnet 192.168.223.128 80
快捷键组合退出: Ctrl 跟 ]





5. Windows游览器中,打开Linux服务器ip(如下图):



6. 修改apache2.4(httpd)配置文件 :
[root@hao-001 ~]# vim /usr/local/apache2.4/conf/httpd.conf
更改内容1:
Require all granted



添加内容2:
DirectoryIndex index.html index.php



添加内容3:
AddType application/x-httpd-php .php



7. 检查配置文件语法是否正确无误 ?
[root@hao-001 ~]# /usr/local/apache2.4/bin/apachectl -t



8. 重新加载配置文件(不会重启服务)
[root@hao-001 ~]# /usr/local/apache2.4/bin/apachectl graceful
9. 添加一个实验脚本 1.php :
[root@hao-001 ~]# vi /usr/local/apache2.4/htdocs/1.php
添加内容:
<?php
phpinfo();
?>
10. 在Windows游览器,输入Linux服务器 ip/1.php :



11. 如果在Windows游览器,解析不出Linux服务器 ip/1.php :
A. 先检查php模块是否加载 :
[root@hao-001 ~]# /usr/local/apache2.4/bin/apachectl -M
(在最下面可以看到)





B. 再检查libphp5.so文件是否存在?
[root@hao-001 ~]# ls /usr/local/apache2.4/modules/libphp5.so





C. 再检查(httpd.conf)配置文件中,下图三行是否有添加?
[root@hao-001 ~]# vim /usr/local/apache2.4/conf/httpd.conf
查看下图红框中是否添加:modules/libphp5.so





查看下图红框中是否添加:index.php





查看下图红框中是否添加:AddType application/x-httpd-php .php





12. 安装了php5版本和7版本,访问Linux服务器 ip/1.php 解析出的是5版本;此时,把5版本对应行在配置文件中注释掉,打开7版本对应行 :
[root@hao-001 php-7.1.6]# vim /usr/local/apache2.4/conf/httpd.conf





13. 检查配置文件语法是否正确无误 ?
[root@hao-001 ~]# /usr/local/apache2.4/bin/apachectl -t
14. 重新加载配置文件(不会重启服务)
[root@hao-001 ~]# /usr/local/apache2.4/bin/apachectl graceful
15. 在Windows游览器中,输入Linux服务器 ip/1.php :



11.16-11.17Apache默认虚拟主机(上下)
1. 打开Windows系统中hosts文件 :
路径:C:\Windows\System32\drivers\etc



2. 用记事本打开Windows系统下的hosts文件 :
自定义设定域名指向ip:Linux服务器ip 自定义网址
192.168.223.128 www.abc www.123.com
(自定义的网址,在windows下访问会跳到前面Linux服务器ip)



记得保存hosts记事本!!!
3. 在Windows系统下,查看hosts里设定的网址,是否跳转到Linux 服务器ip :
C:\Users\VULCAN>ping www.abc.com
C:\Users\VULCAN>ping www.123.com





4. 编辑httpd.conf配置文件 :
[root@hao-001 ~]# vim /usr/local/apache2.4/conf/httpd.conf
搜索:httpd-vhosts关键词,把这行行首#号 删掉!!!(解除注释)



5. 编辑虚拟主机配置文件 :
[root@hao-001 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
更改内容:
<VirtualHost *:80>
DocumentRoot "/data/wwwroot/abc.com"
ServerName abc.com
ServerAlias www.abc www.123.com
ErrorLog "logs/abc.com-error_log"
CustomLog "logs/abc.com-access_log" common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/data/wwwroot/111.com"
ServerName 111.com
ServerAlias www.example.com
ErrorLog "logs/111.com-error_log"
CustomLog "logs/111.com-access_log" common
</VirtualHost>





DocumentRoot:定义网站根目录
ServerName:指定主域名
ServerAlias:指定别名域名(可以有多个别名域名,同时指向一个ip)
ErrorLog:设定错误日志
CustomLog:设定访问日志
6. 创建上面文件中对应的网站目录 :
[root@hao-001 ~]# mkdir /data/wwwroot/
[root@hao-001 ~]# mkdir /data/wwwroot/abc.com/
[root@hao-001 ~]# mkdir /data/wwwroot/111.com/
7. abc网站目录,创建对应文件 :
[root@hao-001 ~]# vim /data/wwwroot/abc.com/index.php
添加内容:
<?php
echo "abc.com";
8.111网站目录,创建对应文件 :
[root@hao-001 ~]# vim /data/wwwroot/111.com/index.php
添加内容:
<?php
echo "111.com";
9. 检查配置文件语法是否正确无误 ?
[root@hao-001 ~]# /usr/local/apache2.4/bin/apachectl -t





10. 重新加载配置文件(不会重启服务) :
[root@hao-001 ~]# /usr/local/apache2.4/bin/apachectl graceful
11. curl -x的作用 :
[root@hao-001 ~]# curl -x192.168.223.128:80 abc.com



www.123.com 是第一个(默认)虚拟主机的主域名
www.baidu.com 是没有设定过的域名,
www.baidu.com这种没有设定过的域名,会解析到默认虚拟主机主域名!!!

[root@hao-001 ~]# curl -x192.168.223.128:80 111.com



111.com 是第二个虚拟主机的主域名
www.example.com 是第二个虚拟主机的别名域名
www.baidu.com 是没有设定过的域名,
www.baidu.com这种没有设定过的域名,会解析到默认虚拟主机主域名!!!
因此:只有设定过的域名,才能会解析到对应的主域名上,
没设定过得域名,都会解析到默认虚拟主机域名上!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Apache PHP 结合