apache虚拟主机配置的三种方式(小结)


Posted in Servers onJuly 23, 2022

记事本打开httpd.conf文件 ,该文件在apache的目录下,如: D:\AppServ\Apache2.2\conf,修改如下两处:

LoadModule vhost_alias_module modules/mod_vhost_alias.so   //去掉前面的#,意思是启用apache的虚拟主机功能,第203行
Include conf/extra/httpd-vhosts.conf  //去掉#的意思是从httpd-vhosts.conf这个文件导入虚拟主机配置

配置虚拟主机后 不能用localhost 访问

只需要把httpd.conf文件的ServerName localhost:80 那行注释掉 就可以了

一、基于IP

假设服务器有个IP地址为192.168.1.10,使用ifconfig在同一个网络接口eth0上绑定3个IP:

[root@localhost root]# ifconfig eth0:1 192.168.1.11
[root@localhost root]# ifconfig eth0:2 192.168.1.12
[root@localhost root]# ifconfig eth0:3 192.168.1.13

修改hosts文件,添加三个域名与之一一对应:

192.168.1.11   www.test1.com
192.168.1.12   www.test2.com
192.168.1.13   www.test3.com

建立虚拟主机存放网页的根目录,如在/www目录下建立test1、test2、test3文件夹,其中分别存放1.html、2.html、3.html

/www/test1/1.html
/www/test2/2.html
/www/test3/3.html

在httpd.conf中将附加配置文件httpd-vhosts.conf包含进来,接着在httpd-vhosts.conf中写入如下配置:

<VirtualHost 192.168.1.11:80>
  ServerName www.test1.com
  DocumentRoot /www/test1/
  <Directory "/www/test1">
     Options Indexes FollowSymLinks
     AllowOverride None
     Order allow,deny
     Allow From All
   </Directory>
</VirtualHost>

<VirtualHost 192.168.1.12:80>
  ServerName www.test1.com
  DocumentRoot /www/test2/
  <Directory "/www/test2">
     Options Indexes FollowSymLinks
     AllowOverride None
     Order allow,deny
     Allow From All
   </Directory>
</VirtualHost>

<VirtualHost 192.168.1.13:80>
  ServerName www.test1.com
  DocumentRoot /www/test3/
  <Directory "/www/test3">
     Options Indexes FollowSymLinks
     AllowOverride None
     Order allow,deny
     Allow From All
   </Directory>
</VirtualHost>

大功告成,测试下每个虚拟主机,分别访问www.test1.com、www.test2.com、www.test3.com

二、基于主机名

设置域名映射同一个IP,修改hosts:

127.0.0.1  gm.998gx.com
127.0.0.1  www.998gx.com
127.0.0.1  r.998gx.com
127.0.0.1  localhost

跟上面一样,建立虚拟主机存放网页的根目录

/www/dxGM/index.php
/www/dxskadmin/index.php
/www/88qp/index.php

在httpd.conf中将附加配置文件httpd-vhosts.conf包含进来,接着在httpd-vhosts.conf中写入如下配置:

为了使用基于域名的虚拟主机,必须指定服务器IP地址(和可能的端口)来使主机接受请求。可以用NameVirtualHost指令来进行配置。 如果服务器上所有的IP地址都会用到, 你可以用*作为NameVirtualHost的参数。在NameVirtualHost指令中指明IP地址并不会使服务器自动侦听那个IP地址。 这里设定的IP地址必须对应服务器上的一个网络接口。

下一步就是为你建立的每个虚拟主机设定配置块,的参数与NameVirtualHost指令的参数是一样的。每个定义块中,至少都会有一个ServerName指令来指定伺服哪个主机和一个DocumentRoot指令来说明这个主机的内容存在于文件系统的什么地方。

如果在现有的web服务器上增加虚拟主机,必须也为现存的主机建造一个定义块。其中ServerName和DocumentRoot所包含的内容应该与全局的保持一致,且要放在配置文件的最前面,扮演默认主机的角色。

<VirtualHost *:80> 
    DocumentRoot "D:/phpstudy/WWW/dxGM" 
    ServerName gm.998gx.com 
</VirtualHost>

<VirtualHost *:80> 
    DocumentRoot "D:/phpstudy/WWW/88qp" 
    ServerName www.998gx.com 
</VirtualHost>

<VirtualHost *:80> 
    DocumentRoot "D:/phpstudy/WWW/dxskadmin" 
    ServerName r.998gx.com 
</VirtualHost>

<VirtualHost *:80> 
    DocumentRoot "D:/phpstudy/WWW" 
    ServerName localhost 
</VirtualHost>

4. 大功告成,测试下每个虚拟主机,分别访问gm.998gx.com、www.998gx.com、r.998gx.com

三、基于端口

修改配置文件

将原来的
Listen 80
改为
Listen 80
Listen 8080

更改虚拟主机设置:

<VirtualHost 192.168.1.10:80>
    DocumentRoot /var/www/test1/
    ServerName www.test1.com
</VirtualHost>

<VirtualHost 192.168.1.10:8080>
    DocumentRoot /var/www/test2
    ServerName www.test2.com
</VirtualHost>

到此这篇关于apache虚拟主机配置的三种方式(小结)的文章就介绍到这了,更多相关apache虚拟主机配置内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

Servers 相关文章推荐
apache基于端口创建虚拟主机的示例
Apr 22 Servers
Linux中Nginx的防盗链和优化的实现代码
Jun 20 Servers
教你利用Nginx 服务搭建子域环境提升二维地图加载性能的步骤
Sep 25 Servers
Nginx+Tomcat负载均衡多实例详解
Apr 11 Servers
Tomcat项目启动失败的原因和解决办法
Apr 20 Servers
Windows Server 2012 R2 磁盘分区教程
Apr 29 Servers
解决IIS7下无法绑定https主机的问题
Apr 29 Servers
使用Nginx的访问日志统计PV与UV
May 06 Servers
阿里云服务器部署RabbitMQ集群的详细教程
Jun 01 Servers
安装harbor作为docker镜像仓库的问题
Jun 14 Servers
Tomcat 与 maven 的安装与使用教程
Jun 16 Servers
阿里云服务器(windows)手动部署FTP站点详细教程
Aug 05 Servers
django项目、vue项目部署云服务器的详细过程
Jul 23 #Servers
Nginx报错104:Connection reset by peer问题的解决及分析
Jul 23 #Servers
centos环境下nginx高可用集群的搭建指南
Nginx如何配置根据路径转发详解
Jul 23 #Servers
Linux中一对多配置日志服务器的详细步骤
Jul 23 #Servers
Nginx如何限制IP访问只允许特定域名访问
Jul 23 #Servers
nginx访问报403错误的几种情况详解
Jul 23 #Servers
You might like
php中邮箱地址正则表达式实现与详解
2012/04/24 PHP
php的GD库imagettftext函数解决中文乱码问题
2015/01/24 PHP
PHP+AJAX 投票器功能
2017/11/11 PHP
Gambit vs ForZe BO3 第二场 2.13
2021/03/10 DOTA
Prototype 学习 工具函数学习($A方法)
2009/07/12 Javascript
将HTMLCollection/NodeList/伪数组转换成数组的实现方法
2011/06/20 Javascript
jQuery版仿Path菜单效果
2011/12/15 Javascript
jquery form 隐藏的input 选择
2014/04/29 Javascript
JS小游戏之象棋暗棋源码详解
2014/09/25 Javascript
jQuery模拟select实现下拉菜单功能
2016/06/20 Javascript
jquery对象与DOM对象转化
2017/02/08 Javascript
jQuery UI Draggable + Sortable 结合使用(实例讲解)
2017/09/07 jQuery
angular之ng-template模板加载
2017/11/09 Javascript
微信小程序获取手机系统信息的方法【附源码下载】
2017/12/07 Javascript
nodejs实现解析xml字符串为对象的方法示例
2018/03/14 NodeJs
JavaScript实现浅拷贝与深拷贝的方法分析
2018/07/05 Javascript
引入外部js脚本加载慢与页面白屏问题的解决
2018/12/10 Javascript
nodejs同步调用获取mysql数据时遇到的大坑
2019/03/02 NodeJs
layui点击按钮页面会自动刷新的解决方案
2019/10/25 Javascript
Python2.x中str与unicode相关问题的解决方法
2015/03/30 Python
Python拼接微信好友头像大图的实现方法
2018/08/01 Python
python 使用re.search()筛选后 选取部分结果的方法
2018/11/28 Python
Pycharm之快速定位到某行快捷键的方法
2019/01/20 Python
如何在Python中实现goto语句的方法
2019/05/18 Python
Python实现带下标索引的遍历操作示例
2019/05/30 Python
TensorFLow 变量命名空间实例
2020/02/11 Python
Python 添加文件注释和函数注释操作
2020/08/09 Python
英国女性时尚精品店:THE DRESSING ROOM
2018/05/23 全球购物
俄罗斯第一家多品牌在线奢侈品精品店:Aizel.ru
2020/09/06 全球购物
经典演讲稿范文
2013/12/30 职场文书
《孔子游春》教学反思
2014/02/25 职场文书
通知书大全
2015/04/27 职场文书
关于做家务的心得体会
2016/01/23 职场文书
pytorch model.cuda()花费时间很长的解决
2021/06/01 Python
Python面向对象之内置函数相关知识总结
2021/06/24 Python
一次项目中Thinkphp绕过禁用函数的实战记录
2021/11/17 PHP