怎么在Apache服务器上添加虚拟主机功能教程,Apache默认存放网页根目录,是在/var/www/html/下面,也就是默认情况下一个服务器只能跑一个网站。但要是一台性能还算不错的服务器只跑一个网站岂不是非常的浪费?其实 Apache 是支持虚拟主机功能的,以虚拟主机模式可以跑很多个网站的,怎么开启Apache 开启虚拟主机功能呢,
Apache 开启虚拟主机功能的方法其实非常的简单,下面以 CentOS 6.3 和 Apache 2.2 为例, 在 /etc/httpd/conf.d/ 目录下创建一个vhost.conf配置文件,内容格式如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
NameVirtualHost *:80 <VirtualHost *:80> ServerName aaa.com ServerAlias www.aaa.com DocumentRoot /srv/www/aaa.com/public_html/ </VirtualHost> <VirtualHost *:80> ServerName bbb.com ServerAlias www.bbb.com DocumentRoot /srv/www/bbb.com/public_html/ </VirtualHost> |
然后为这两个网站创建相应的目录,如下:
1
2
|
$ mkdir
-p /srv/www/aaa .com /public_html $ mkdir
-p /srv/www/bbb .com /public_html |
分别在以上两个域名中,添加一个 A 记录指向该服务器的 IP 地址,然后重启 Apache 服务器:
1
|
$ service httpd restart |
如果需要记录访问日志和错误日志及实现 URL 重写等功能,还需做如下的修改:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<VirtualHost *:80> ServerAdmin webmaster@aaa.com ServerName aaa.com ServerAlias www.aaa.com DocumentRoot /srv/www/aaa.com/public_html/ ErrorLog /srv/www/aaa.com/logs/error.log CustomLog /srv/www/aaa.com/logs/access.log combined <Directory /srv/www/aaa.com/public_html/> Options FollowSymLinks AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost> |
做好上面的步骤后,虚拟主机就创建完成了,这样就能以不同的域名访问,服务器就会返回不同的内容了。
注,如果此时还用 IP 地址来访问该服务器,返回的内容将不再是/var/www/html/中的内容,而是vhost.conf配置文件中的第一个虚拟主机的内容了。