有时候为了区分业务,给不同二级域名配置不同的站点也是很不错的。 以下配置的环境是:CentOS + Apache 首先在 httpd/conf/httpd.conf, 将其中的 ServerAdmin ServerName DocumentRoot 注释掉。 其中看到有一行是: Include conf.d/*.conf 既然已经包含了所有conf文件,那我就直接开干了。 以下是apache配置目录下的文件,很清楚地看到没有vhosts.conf之类的文件,那么我们自己在conf.d目录下创建
[root@foam conf.d]# tree /etc/httpd/ -L 3
/etc/httpd/
|-- conf
| |-- httpd.conf
| |-- httpd.conf.bak.2014.12.10
| |-- httpd.conf.bak.2014.12.2
| |-- httpd.conf.rpmsave
| `-- magic
|-- conf.d
| |-- README
| |-- php.conf
| `-- welcome.conf
|-- logs -> ../../var/log/httpd
|-- modules -> ../../usr/lib64/httpd/modules
`-- run -> ../../var/run/httpd
5 directories, 8 files
vhosts.conf文件内容如下:
NameVirtualHost *:80 #这行我一开始漏掉了,导致访问的一直是第一个虚拟站点,很郁闷啊。
<VirtualHost *:80>
ServerAdmin #管理员账号,如 root@localhost
DocumentRoot #该主机的目录,如 /var/www/html
ServerName #域名1,如 zoufeng.me
ServerAlias #别名(可选),如 www.zoufeng.me
ErrorLog "logs/域名1-error.log"
CustomLog "logs/域名1-access.log" combined
<Directory "/var/www/html">
order allow,deny
allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin #管理员账号,如 root@localhost
DocumentRoot #该主机的目录,如 /var/www/html2
ServerName #域名2,如 m.zoufeng.me
ServerAlias #别名(可选)
ErrorLog "logs/域名2-error.log"
CustomLog "logs/域名2-access.log" combined
<Directory "/var/www/html">
order allow,deny
allow from all
</Directory>
</VirtualHost>
编辑后,重启apache服务
[root@foam conf.d]# service httpd restart
Stopping httpd: [ OK ]
Starting httpd:
[ OK ]