apache默认虚拟主机

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apache默认虚拟主机相关的知识,希望对你有一定的参考价值。

一台服务器可以访问多个网站,每个网站都是一个虚拟主机
概念:域名(主机名)、DNS、解析域名、hosts
任何一个域名解析到这台机器,都可以访问的虚拟主机就是默认虚拟主机

1、默认虚拟主机
技术分享图片
这个站点就是默认的虚拟主机

2、设置自定义虚拟主机(第一个为默认)
vim /usr/local/apache2/conf/httpd.conf //搜索httpd-vhost,去掉#
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf 这个是虚拟主机配置文件//改为如下

<VirtualHost *:80>
    DocumentRoot "/data/wwwroot/abc.com"
    ServerName abc.com
    ServerAlias www.abc.com 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.111.com
    ErrorLog "logs/111.com-error_log"
    CustomLog "logs/111.com-access_log" common
</VirtualHost>

ServerAdmin这个用来定义管理员的邮箱,要不要无所谓,可以删除
DocumentRoot这个用来定义网站的根目录在哪
ServerAlias 别名
ErrorLog指定错误日志
CustomLog指定访问日志

3、测试上面配置的虚拟主机
首先创建目录

mkdir /data/wwwroot/
mkdir /data/wwwroot/abc.com
mkdir /data/wwwroot/111.com

在目录中添加一个php代码文件
vim /data/wwwroot/abc.com/index.php //内容如下

<?php
echo "abc.com"
?>

vim /data/wwwroot/111.com/index.php //内容如下

<?php
echo "111.com"
?>

4、使上面配置生效
/usr/local/apache2/bin/apachectl –t //测试语法
/usr/local/apache2/bin/apachectl graceful //重新加载配置文件,不会重启服务

5、
编辑vi /etc/hosts文件来设置abc.com访问到本机上
或者curl命令用法:

curl -x192.168.111.120:80 abc.com
curl -x192.168.111.120:80 www.abc.com
curl -x192.168.111.120:80 111.com

以上是关于apache默认虚拟主机的主要内容,如果未能解决你的问题,请参考以下文章

11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机

apache设置 为啥显示的是目录

apache默认虚拟主机

Apache 默认虚拟主机

4.Apache和PHP结合 Apache默认虚拟主机

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