Apache和PHP结合、Apache默认虚拟主机

目录

一、Apache和PHP结合
二、Apache默认虚拟主机

一、Apache和PHP结合

Apache和PHP都已经安装成功,先修改好httpd的主配置文件,然后检验httpd的配置文件是否正确,最后测试Apache是否正确解析PHP。

  • 修改httpd的主配置文件httpd.conf
  1. 找到#ServerName www.example.com:80,将前面的#好删除。

  2. 找到<Directory />
    AllowOverride none
    Require all denied
    </Directory>
    修改为
    <Directory />
    AllowOverride none
    Require all granted
    </Directory>
    修改它的目的是,允许所有请求。

  3. 在AddType application/x-gzip .gz .tgz 这一行后面加一行AddType application/x-httpd-php .php
    PHP解析

  4. 找到<IfModule dir_module>
    DirectoryIndex index.html
    </IfModule>
    修改为
    <IfModule dir_module>
    DirectoryIndex index.html index.php
    </IfModule>
    增加一个索引页(使用户仅输入域名或ip即可访问该页)

  • 检验httpd的配置文件
[root@minglinux-01 ~] /usr/local/apache2.4/bin/apachectl -t
Syntax OK

配置文件正确则会显示“Syntax OK”,如果有错误,请返回继续修改。

  • 重新启动httpd
[root@minglinux-01 ~] /usr/local/apache2.4/bin/apachectl restart
  • 查看是否启动
[root@minglinux-01 ~] netstat -lnp |grep httpd 
tcp6       0      0 :::80                   :::*                    LISTEN      67849/httpd 
  • 本地测试
[root@minglinux-01 ~] curl localhost
<html><body><h1>It works!</h1></body></html>

  • 测试是否正确解析 PHP
[root@minglinux-01 ~] vim /usr/local/apache2.4/htdocs/1.php      \\脚本内容如下
<?php
    echo "hello world \n";
?>

[root@minglinux-01 ~] curl localhost/1.php
hello world 

能显示脚本信息则说明PHP解析正确。

快捷键ctrl+r:按下这个快捷键后,进入了反向搜索状态,这时你输入一个字符,系统会找到最近一个包含这个字符的命令,如果不是你想要的命令,你可以继续输入,系统继续查找最近一个包含你所输入的字符串的命令,直到找到你要的命令。

二、Apache默认虚拟主机

  • 编辑httpd服务的主配置文件
[root@minglinux-01 ~] vim /usr/local/apache2.4/conf/httpd.conf
···
Include conf/extra/httpd-vhosts.conf   //将该行的#号去掉
···
  • 修改httpd-vhosts.conf 配置文件代码如下:
<VirtualHost *:80>
    ServerAdmin 331601950@qq.com
    DocumentRoot "/usr/local/apache2.4/htdocs/ming1"
    ServerName www.ming1.com
    ServerAlias ming1.com
    ErrorLog "logs/www.ming1.com-error_log"
    CustomLog "logs/www.ming1.com-access_log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin 331601950@qq.com
    DocumentRoot "/usr/local/apache2.4/htdocs/ming2"
    ServerName www.ming2.com
    ErrorLog "logs/www.ming2.com-error_log"
    CustomLog "logs/wwww.ming2.com-access_log" common
</VirtualHost>

ServerAdmin指定管理员邮箱。
DocumentRoot为该虚拟主机站点的根目录。
ServerName为网站的域名,不可以写多个。
ServerAlias为网站的第二域名,可写多个。
ErrorLog为站点的错误日志。
CustomLog为站点的访问日志。

  • 修改windows下的hosts文件
    路径:C:\Windows\System32\drivers\etc\hosts
    使用记事本编辑hosts文件写入以下代码:
    192.168.162.130 www.ming1.com
    192.168.162.130 www.ming2.com
    192.168.162.130 www.ming3.com
    这里目的是将域名跟IP地址绑定。

  • 创建两个虚拟主机的发布目录,并分别创建index.php页面

[root@minglinux-01 ~] mkdir -p /usr/local/apache2.4/htdocs/{ming1,ming2}/
[root@minglinux-01 ~] echo "ming1" > /usr/local/apache2.4/htdocs/ming1/index.html
[root@minglinux-01 ~] echo "ming2" > /usr/local/apache2.4/htdocs/ming2/index.html
[root@minglinux-01 ~] /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@minglinux-01 ~] /usr/local/apache2.4/bin/apachectl graceful  //重新加载httpd服务,避免重启

  • 浏览器访问
ming1
ming2
ming3l

www.ming3.com这个会去访问ming1这个默认虚拟主机。默认虚拟主机为www.ming.com,不管把什么域名指向该服务器,只要配置文件中没
有标记,就会访问这个默认虚拟主机。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容