# apache 配置虚拟主机

修改配置文件**httpd.conf**：

```bash
vim /usr/local/apache2.4/conf/httpd.conf
# 去掉注释
#Include conf/extra/httpd-vhosts.conf
Include conf/extra/httpd-vhosts.conf
```

修改主配置文件中对应的虚拟主机配置文件：

```bash
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/data/www/abc.com"
    ServerName abc.com
    ServerAlias www.abc.com www.123.com
    ErrorLog "logs/dummy-host.example.com-error_log"
    CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>
```

配置文件解析：

虚拟主机配置文件中的每一&#x4E2A;**\<VirtualHost>...\</VirtualHost>** 都是代表一个虚拟主机

* ServerAdmin ：虚拟主机管理
* DocumentRoot ：根目录
* ServerName ：域名
* ServerAlias ：别名
* ErrorLog ：错误日志
* CustomLog ：访问日志，common 为日志类型。

```bash
/usr/local/apache2/bin/apachectl –t
  # 检查配置文件
/usr/local/apache2/bin/apachectl graceful
 # 重新加载配置文件
```

测试（需要配&#x7F6E;**/etc/hosts**文件）：

```bash
$ curl -x192.168.127.128:80 www.abc.com
Hello World
```
