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 比 Apache 更牛逼
Mar 31 Servers
Nginx+Tomcat实现负载均衡、动静分离的原理解析
Mar 31 Servers
nginx优化的六点方法
Mar 31 Servers
Nginx URL重写rewrite机制原理及使用实例
Apr 01 Servers
nginx刷新页面出现404解决方案(亲测有效)
Mar 18 Servers
Docker官方工具docker-registry案例演示
Apr 13 Servers
排查Tomcat进程假死的问题
May 06 Servers
Nginx 常用配置
May 15 Servers
使用Apache Camel表达REST服务的方法
Jun 10 Servers
win7配置本地ftp服务器的图文教程
Aug 05 Servers
windows server2012 R2下安装PaddleOCR服务的的详细步骤
Sep 23 Servers
ubuntu如何搭建vsftpd服务器
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调用.NET的WebService 简单实例
2015/03/27 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
PHP fopen中文文件名乱码问题解决方案
2020/10/28 PHP
JS创建优美的页面滑动块效果 - Glider.js
2007/09/27 Javascript
js 日期转换成中文格式的函数
2009/07/07 Javascript
javascript实现的像java、c#之类的sleep暂停的函数代码
2010/03/04 Javascript
Javascript前端UI框架Kit使用指南之kitjs事件管理
2014/11/28 Javascript
Jquery弹出层插件ThickBox的使用方法
2014/12/09 Javascript
jQuery实现鼠标点击弹出渐变层的方法
2015/07/09 Javascript
详解JavaScript数组和字符串中去除重复值的方法
2016/03/07 Javascript
学JavaScript七大注意事项【必看】
2016/05/04 Javascript
JS遍历ul下的li点击弹出li的索引的实现方法
2016/09/19 Javascript
ng2学习笔记之bootstrap中的component使用教程
2017/03/09 Javascript
vue-cli初始化项目中使用less的方法
2018/08/09 Javascript
Vue + Element UI图片上传控件使用详解
2019/08/20 Javascript
详解Vue的ref特性的使用
2020/01/24 Javascript
用JS实现选项卡
2020/03/23 Javascript
python判断字符串是否包含子字符串的方法
2015/03/24 Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
2017/01/20 Python
python内置函数:lambda、map、filter简单介绍
2017/11/16 Python
OpenCV2从摄像头获取帧并写入视频文件的方法
2018/08/03 Python
python 简单照相机调用系统摄像头实现方法 pygame
2018/08/03 Python
Python字典创建 遍历 添加等实用基础操作技巧
2018/09/13 Python
Python3转换html到pdf的不同解决方案
2019/03/11 Python
Python中函数的基本定义与调用及内置函数详解
2019/05/13 Python
11个Python3字典内置方法大全与示例汇总
2019/05/13 Python
使用CSS3实现圆角,阴影,透明
2014/12/23 HTML / CSS
商场中秋节广播稿
2014/01/17 职场文书
网上卖盒饭创业计划书范文
2014/02/07 职场文书
读书之星事迹材料
2014/05/12 职场文书
学校四群教育实施方案
2014/06/12 职场文书
2014年专项整治工作总结
2014/11/17 职场文书
导游欢送词
2015/01/31 职场文书
2019最新版劳务派遣管理制度
2019/08/16 职场文书
Python socket如何解析HTTP请求内容
2022/02/12 Python
MySQL解决Navicat设置默认字符串时的报错问题
2022/06/16 MySQL