Apache中配置多主机多站点,可以通过两种方式实现

  • 将同一个域名的不同端口映射到不同的站点(虚拟主机)
  • 将同一个端口映射成不同的域名,不同的域名映射到不同的站点

两种方法可以同时存在,局域网通过  ip:端口的配置方法跟统一域名不同端口的配置方法一样

我们只需要修改相应的配置文件即可。

一、准备工作

1、修改系统 hosts文件

centos中hosts的文件路径: /etc/hosts

在这个文件中我们加入如下两行代码:

 在     127.0.0.1后面添加 www.liuyazhuang.com,www.lyz.com

这两行代码的意思是将www.liuyazhuang.com和www.lyz.com映射到本机的ip地址上。

2、准备两个站点 (ps:这两个站点可以放到任意的下面)

分别在

  1>   /var/www/myweb1,下面有个index.html文件.内容是"这是/var/www/myweb1"站点.

 2>   /usr/local/http2/htdocs/myweb2,下面有个index.html文件.内容是"这是/usr/local/http2/htdoces/myweb2"站点.(安装好LAMP后,默认的站点)

二、具体实现

我们分别讲解两种不同的实现方案

1)修改监听端口

在Apache的httpd.conf中,将监听端口修改为8080和8090,具体如下图所示:

centOS7怎么在虚拟机设置桌面_html

2)注释默认的访问路径(本人亲身测试, 注释掉或者不注释掉都可以,貌似没啥影响)

在httpd.conf文件中找到如下代码:

  1. DocumentRoot "/usr/local/http2/htdocs"  

将这行代码注释掉,如下图:

 

centOS7怎么在虚拟机设置桌面_虚拟主机_02

3)打开引入httpd-vhosts.conf文件的注释

在httpd.conf文件中找到如下代码:

  1. # Virtual hosts  
  2. #Include conf/extra/httpd-vhosts.conf  

将#Include conf/extra/httpd-vhosts.conf这行代码的注释打开,如下图:

centOS7怎么在虚拟机设置桌面_html_03

2、修改Apache的httpd-vhosts.conf文件

我们说到的方案一和方案二,只是在配置httpd-vhosts.conf文件的时候有所不同。

在 http-vhosts.conf 配置的虚拟主机总的 文件夹访问权限配置<Directory>也可以放到httpd.conf中

方案一、

将同一个域名的不同端口映射到不同的虚拟主机(站点),不同端口映射到不同的站点

在httpd-vhosts.conf文件中添加如下代码:

1. #配置我们自己的虚拟主机  
2. <VirtualHost www.lyz.com:8080>  
3.     #配置访问跟目录  
4.     DocumentRoot "d:/Apache/myweb1"  
5.     #这里配置欢迎首页面  
6.     DirectoryIndex index.html index.htm index.php  
7.  <Directory />  
8.     Options FollowSymLinks  
9.     #不允许别人修改我们的页面  
10.     AllowOverride None  
11.     #设置访问权限  
12.     Order allow,deny  
13.     Allow from All  
14.     </Directory>  
15. </VirtualHost>  
16.   
17. #配置我们自己的虚拟主机  
18. <VirtualHost www.lyz.com:8090>  
19.     #配置访问跟目录  
20.     DocumentRoot "d:/Apache/myweb2"  
21.     #这里配置欢迎首页面  
22.     DirectoryIndex index.html index.htm index.php  
23.     <Directory />  
24.     Options FollowSymLinks  
25.     #不允许别人修改我们的页面  
26.     AllowOverride None  
27.     #设置访问权限  
28.     Order allow,deny  
29.     Allow from All  
30.     </Directory>  
31. </VirtualHost>

具体如下图所示:

 

centOS7怎么在虚拟机设置桌面_html_04

启动Apache在浏览器中输入:http://www.lyz.com:8080显示"我是第一个站点",输入:http://www.lyz.com:8090显示"我是第二个站点"。

方案二、

将同一个端口映射成不同的域名,不同的域名映射到不同的站点。

在httpd-vhosts.conf文件中添加如下代码:

1. #配置我们自己的虚拟主机  
2. <VirtualHost *:8080>  
3.     #配置访问跟目录  
4.     DocumentRoot "d:/Apache/myweb1"      
5.     ServerName www.lyz.com  
6.     #这里配置欢迎首页面  
7.     DirectoryIndex news.html index.html index.htm index.php  
8.     <Directory />  
9.     Options FollowSymLinks  
10.     #不允许别人修改我们的页面  
11.     AllowOverride None  
12.     #设置访问权限  
13.     Order allow,deny  
14.     Allow from all  
15.     </Directory>  
16. </VirtualHost>  
17.   
18. #配置我们自己的虚拟主机  
19. <VirtualHost *:8080>  
20.     #配置访问跟目录  
21.     DocumentRoot "d:/Apache/myweb2"  
22.     ServerName www.liuyazhuang.com  
23.     #这里配置欢迎首页面  
24.     DirectoryIndex news.html index.html index.htm index.php  
25.     <Directory />  
26.     Options FollowSymLinks  
27.     #不允许别人修改我们的页面  
28.     AllowOverride None  
29.     #设置访问权限  
30.     Order allow,deny  
31.     Allow from all  
32.     </Directory>  
33. </VirtualHost>

具体如下图所示:

 

centOS7怎么在虚拟机设置桌面_centOS7怎么在虚拟机设置桌面_05

启动Apache在浏览器中输入:http://www.lyz.com:8080显示"我是第一个站点",输入:http://www.liuyazhuang.com:8080显示"我是第二个站点"。