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 相关文章推荐
详解如何修改nginx的默认端口
Mar 31 Servers
Nginx反向代理及负载均衡如何实现(基于linux)
Mar 31 Servers
nginx配置虚拟主机的详细步骤
Jul 21 Servers
Nginx配置https的实现
Nov 27 Servers
Kubernetes关键组件与结构组成介绍
Mar 31 Servers
CentOS7和8下安装Maven3.8.4
Apr 07 Servers
Windows Server 修改远程桌面端口的实现
Jun 25 Servers
nginx之queue的具体使用
Jun 28 Servers
Nginx如何配置根据路径转发详解
Jul 23 Servers
Fluentd搭建日志收集服务
Sep 23 Servers
源码安装apache脚本部署过程详解
Sep 23 Servers
keepalived + nginx 实现高可用方案
Dec 24 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循环输出数据库内容的代码
2008/05/24 PHP
php递归方法实现无限分类实例代码
2014/02/28 PHP
php递归删除指定文件夹的方法小结
2015/04/20 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
基于jquery的滚动新闻列表
2010/06/19 Javascript
javascript中检测变量的类型的代码
2010/12/28 Javascript
javascript中注册和移除事件的4种方式
2013/03/20 Javascript
JavaScript搜索字符串并将搜索结果返回到字符串的方法
2015/04/06 Javascript
node.js抓取并分析网页内容有无特殊内容的js文件
2015/11/17 Javascript
易被忽视的js事件问题总结
2016/05/14 Javascript
JSON字符串和JSON对象相互转化实例详解
2017/01/05 Javascript
JS实现批量上传文件并显示进度功能
2017/06/27 Javascript
简单谈谈JS中的正则表达式
2017/09/11 Javascript
详解基于vue-router的动态权限控制实现方案
2017/09/28 Javascript
Vue.js组件通信的几种姿势
2017/10/23 Javascript
JS中promise化微信小程序api
2018/04/12 Javascript
JS+HTML5 Canvas实现简单的写字板功能示例
2018/08/30 Javascript
IE11下处理Promise及Vue的单项数据流问题
2019/07/24 Javascript
node.js中path路径模块的使用方法实例分析
2020/02/13 Javascript
python中stdout输出不缓存的设置方法
2014/05/29 Python
Python中线程编程之threading模块的使用详解
2015/06/23 Python
python 打印对象的所有属性值的方法
2016/09/11 Python
Python简单计算数组元素平均值的方法示例
2017/12/26 Python
Python实现的用户登录系统功能示例
2018/02/05 Python
Python实现的简单排列组合算法示例
2018/07/04 Python
Python实现统计英文文章词频的方法分析
2019/01/28 Python
python与js主要区别点总结
2020/09/13 Python
HTML5实现分享到微信好友朋友圈QQ好友QQ空间微博二维码功能
2018/01/03 HTML / CSS
加拿大建筑和装修专家:Reno-Depot
2017/12/21 全球购物
瑞士设计师家具和家居饰品网上商店:Bruno Wickart
2019/03/18 全球购物
澳大利亚在线高跟鞋商店:Shoe Me
2019/11/19 全球购物
环保公益广告语
2014/03/13 职场文书
自我鉴定标准格式
2014/03/19 职场文书
银行求职自荐信
2014/06/30 职场文书
政府个人对照检查材料
2014/08/28 职场文书
JS实现数组去重的11种方法总结
2022/04/04 Javascript