Apache中配置多主机站点,可以通过两种方式实现:
1、将同一个域名的不同端口映射到不同的站点(虚拟主机)
2、将同一个端口映射成不同的域名,不同的域名映射到不同的站点
备注:两种方法可以同时存在,局域网通过ip:端口的配置方法与统一域名不同端口的配置方法一样我们只需要修改相应的配置文件即可。
一、准备工作
1、修改系统 hosts文件
centos中hosts的文件路径: /etc/hosts
在这个文件中我们加入如下两行码:
这两行代码的意思是将www.aaa.com和www.qiye.com映射到本机的ip地址上。
自测一个站点:
2、准备两个站点 (ps:这两个站点可以放到任意的下面)
分别在
/var/www/aaa,下面有个index.html文件.内容是"这是/var/www/aaa"站点;
/opt/lampp/htdocs/qiye下面有个index.html文件.内容是"这是/opt/lampp/htdocs/qiye"站点.(安装好LAMP后,默认的站点)
二、具体实现
我们分别讲解两种不同的实现方案
1)修改监听端口
在Apache的httpd.conf中,将监听端口修改为8080和8090,具体如下图所示:
2)注释默认的访问路径(本人亲身测试, 注释掉或者不注释掉都可以,貌似没啥影响)
在httpd.conf文件中找到如下代码:
DocumentRoot "/opt/lampp/http2/htdocs"
将这行代码注释掉,如下图:
3)打开引入httpd-vhosts.conf文件的注释
2、修改Apache的httpd-vhosts.conf文件
我们说到的方案一和方案二,只是在配置httpd-vhosts.conf文件的时候有所不同。
在 http-vhosts.conf 配置的虚拟主机总的 文件夹访问权限配置<Directory>也可以放到httpd.conf中
方案一、
将同一个域名的不同端口映射到不同的虚拟主机(站点),不同端口映射到不同的站点
在httpd-vhosts.conf文件中添加如下代码:
<VirtualHost www.qiye.com:8080>
DocumentRoot "/var/www/aaa"
#这里配置欢迎首页面
DirectoryIndex index.html index.htm index.php
<Directory />
Options FollowSymLinks
#不允许别人修改我们的页面
AllowOverride None
#设置访问权限
Order allow,deny
Allow from All
</Directory>
</VirtualHost>
<VirtualHost www.qiye.com:8090>
DocumentRoot "/opt/lampp/htdocs/qiye"
#这里配置欢迎首页面
DirectoryIndex index.html index.htm index.php
<Directory />
Options FollowSymLinks
#不允许别人修改我们的页面
AllowOverride None
#设置访问权限
Order allow,deny
Allow from All
</Directory>
</VirtualHost>
启动Apache在浏览器中输入:http://www.lyz.com:8080显示"我是第一个站点",输入:http://www.lyz.com:8090显示"我是第二个站点"。
方案二、
将同一个端口映射成不同的域名,不同的域名映射到不同的站点。
在httpd-vhosts.conf文件中添加如下代码:
<VirtualHost 127.0.0.1:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "/var/www/aaa"
ServerName www.aaa.com
ErrorLog "logs/dummy-host2.example.com-error_log"
CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>
<VirtualHost 127.0.0.1:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "/opt/lampp/htdocs/qiye"
ServerName www.qiye.com
ErrorLog "logs/dummy-host2.example.com-error_log"
CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>
启动Apache在浏览器中输入:http://www.aaa.com显示"我是第一个站点",输入:http://www.qiye.com显示"我是第二个站点"。