目前在一台服务器上搭建多个网站的方法主要由以下几种:
1、 基于IP地址
2、 基于端口号  : 后续可能端口号不足无法满足业务需求
3、 基于主机名  : Apache虚拟主机实现,用的比较多。

下面介绍虚拟主机多域名的配置方法:
这里假设apached安装路径为:/usr/local/apache
那么Apache的 配置文件一般放在下/usr/local/apache/conf文件夹中,httpd.conf是它的主配置文件,在进行配置时可以将虚拟主机的配置文件单独配置,如 取名为vhost.conf,然后再http.conf中加入一行包含的语句“Include /usr/local/apache/conf/vhost.conf”即可将vhost.conf的配置文件包含进来。

vhost.conf定义3个不通的域名,3个目录,访问3个域名分别对应自己各种的目录
这里注意3个目录的权限一定要和apache启动的用户权限匹配上,否则可能会出现403权限拒绝提示。
www.xushaojie.test1   < --- >  /var/www/html1  
www.xushaojie.test2   < --- >  /var/www/html2
www.xushaojie.test3   < --- >  /var/www/html3

vhost.conf配置如下:
NameVirtualHost *:80

<VirtualHost *:80>
    DocumentRoot /var/www/html1
    ServerName www.xushaojie.test1
</VirtualHost>

<Directory "/var/www/html1">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order Deny,Allow
    Deny from none
    Allow from all
</Directory>


<VirtualHost *:80>
    DocumentRoot /var/www/html2
    ServerName www.xushaojie.test2
</VirtualHost>

<Directory "/var/www/html2">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order Deny,Allow
    Deny from none
    Allow from all
</Directory>

<VirtualHost *:80>
    DocumentRoot /var/www/html3
    ServerName www.xushaojie.test3
</VirtualHost>

<Directory "/var/www/html3">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order Deny,Allow
    Deny from none
    Allow from all
</Directory>


在/etc/hosts文件中将网站的域名绑定到本地环回地址上:
127.0.0.1 localhost
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 www.xushaojie.test1
127.0.0.1 www.xushaojie.test2
127.0.0.1 www.xushaojie.test3

验证:
上诉配置修改完成后, 使用 /usr/local/apache/bin/apachectl  -t来测试配置文件是否正确。
调试成功后,启动配置文件。

重启apache服务: /usr/local/apache/bin/apachectl restart
平滑重启服务命令:/usr/local/apached/bin/apachectl reload

访问测试:

访问第1个域名效果

wKioL1cVzInTuZI0AABCaZ6lo9s755.png

访问第2个域名效果

wKioL1cVzIqSH9v-AAA2d9myqUU107.png

访问第3个域名效果

wKioL1cVzIqTVCYiAABHb2p4d2A199.png