8.1

1、apache和PHP结合

  修改httpd主配置文件/usr/local/apache2.4/conf/httpd.cnf编辑以下内容,在修改前,需要先在iptables上放行80端口

  1.设置ServerName,取消本行注释。若注释本行,则在启动httpd服务时,则会产生如下告警,取消注释本行之后,再进行启动就不会产生告警

  2.修改Require all denied为Require all granted

  3.增加AddType application/x-httpd-php .php

  4.增加索引页在Directory Index index.html后增加index.php

 

  5.然后执行/usr/local/apache2.4/bin/apachectl -t进行检查,在检查无误后执行/usr/local/apache2.4/bin/apachectl graceful重新加载配置文件,此命令不会重启服务,这样就可以保证即使新加载的配置文件有问题,最多只会导致加载不成功,不会造成服务停止

  6.验证是否能进行php解析,编辑脚本vi /usr/local/apache2.4/htdocs/1.php,增加如下内容

  <?php

  phpinfo();

  ?>

  上述函数可以将php的相关信息打印出来,增加文件不需要重启httpd服务

  然后通过浏览器访问该页面,访问IP/1.txt,如果出现如下页面,则表示能够进行PHP解析

  如果不支持解析,访问IP/1.php时,则会出现文件的源代码

  如果遇到不能进行php解析,则需要检查以下配置文件:

  (1)执行/usr/local/apache2.4/bin/apachectl -M查看是否加载PHP的模块

  (2)如果没有加载,需要查看是否有php模块的文件,ls /usr/local/apache2.4/moudles/libphp5.so

  (3)如果有文件,但是未加载,则需要检查配置文件中是否有加载php模块的配置,/usr/local/apache2.4/conf/httpd.cnf

  (4)接下来检查配置文件中是否增加AddType application/x-httpd-php .php这一行

  (5)检查配置文件中是否增加DirectoryIndex index.html index.php

2、apache默认虚拟主机

  当同一台主机需要跑多个域名时,则需要用到apache虚拟主机

  1.在配置文件/usr/local/apache/conf/httpd.cnf中,找到并修改如下内容,取消Includ 行的注释

  2.打开二级配置文件/usr/local/apache2.4/conf/extra/httpd-vhosts.cnf,如下所示,默认情况下有两个virtualHost,每个virtualHost都是一个虚拟主机,其中serveradmin用来定义管理员邮箱,可以删除本行,第二行用来定义网站的根目录,可以根据实际情况进行定义,servername用来定义网站的域名,serveralias用来定义域名的别名,即多个域名访问同一个网站,此处可以写多个域名

  如下所示,当我们定义了多个虚拟主机,当定义虚拟主机时,原来的配置文件中定义的servername就不会生效

  3.然后在对应的站点根目录下,分别创建文件,并编辑文件

 

  4.测试虚拟主机

  curl -xIP:80 abc.com,使用curl命令访问,如果域名未在配置中进行配置,则无论访问哪个域名,只要访问这个IP,就会访问这个IP的默认网站,即abc.com

  访问curl -xIP:20 www.example.com时,由于www.example.com在虚拟主机配置中进行配置,所以进行访问时,访问的网站为111.com

  一旦打开vhost,则原来服务配置文件中的servername和documentroot都会失效

猜你喜欢

转载自www.cnblogs.com/w494129131/p/9404234.html
8.1