在一个Apache服务器上可以配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录。Apache虚拟主机配置有3中方法:基于IP配置、基于域名配置和基于端口配置,这里介绍基于域名配置和基于端口配置,基于IP配置方法类似。
参考:https://www.cnblogs.com/xiaoqian1993/p/6063375.html
一、基于域名配置
1.1 首先查看主配置文件,是否打开了虚拟主机配置选项;
[root@localhost test]# vi /etc/httpd/conf/httpd.conf IncludeOptional conf.d/*.conf # 使虚拟主机配置文件生效(/usr/share/doc/httpd-2.4.6/httpd-vhosts.conf)
1.2 打开虚拟主机配置文件添加如下内容:
[root@localhost test]# vi /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf <VirtualHost *:80> DocumentRoot "/steven/test" #网站根目录 ServerName www.test.com #域名 DirectoryIndex index.html index.htm index.php #这里配置欢迎首页面 <Directory /> Options FollowSymLinks AllowOverride None #不允许别人修改我们的页面 order allow,deny #设置访问权限 Allow from all </Directory> </VirtualHost>
1.3 在根目录下面新建文件:
[root@localhost test]# cd /steven/test/ [root@localhost test]# vi index.php <?php Echo "测试";
1.4 设置本地域名解析
steven:~ root# vi /etc/hosts 10.0.2.114 www.test.com #127.0.0.1 www.test.com 如果Apache安装在本机。
1.5 浏览其中输入www.test.com访问测试页面
如果出现浏览器状态码为403,就是因为权限不足引起的,再次打开httpd.conf进行添加权限
找到下面的代码
<Directory />
AllowOverride none
Require all denied
</Directory>
将它改为:
<Directory />
AllowOverride none
Require all granted
</Directory>
二、基于端口配置虚拟主机
2.1 修改主配置文件,添加多个监听端口
[root@localhost ~]# vi /etc/httpd/conf/httpd.conf Listen 80 Listen 8080
2.2 编辑 httpd-vhosts.conf ,添加一下信息
[root@localhost httpd-2.4.6]# vi httpd-vhosts.conf # 虚拟机端口配置 <VirtualHost *:8080> DocumentRoot "/steven/test2" ServerName www.test2.com ServerAlias www.test2.com <Directory "/steven/test2"> Options FollowSymLinks ExecCGI AllowOverride All Order allow,deny Allow from all Require all granted </Directory> </VirtualHost>2.3 重启Apache服务访问www.test2.com:8080