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 09 Servers
nginx反向代理时如何保持长连接
Mar 31 Servers
如何在centos上使用yum安装rabbitmq-server
Mar 31 Servers
Nginx下SSL证书安装部署步骤介绍
Dec 06 Servers
Apache Pulsar结合Hudi构建Lakehouse方案分析
Mar 31 Servers
Tomcat用户管理的优化配置详解
Mar 31 Servers
CentOS安装Nginx并部署vue
Apr 12 Servers
tomcat默认最大连接数及相关调整方法
May 06 Servers
Nginx 常用配置
May 15 Servers
CentOS7环境下MySQL8常用命令小结
Jun 10 Servers
Win10系统搭建ftp文件服务器详细教程
Aug 05 Servers
CentOS7 minimal 最小化安装网络设置过程
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
第十五节--Zend引擎的发展
2006/11/16 PHP
php 判断服务器操作系统的类型
2014/02/17 PHP
PHP判断函数是否被定义的方法
2019/06/21 PHP
用js实现的一个Flash滚动轮换显示图片代码生成器
2007/03/14 Javascript
JavaScript 全角转半角部分
2009/10/28 Javascript
在javascript将NodeList作为Array数组处理的方法
2010/07/09 Javascript
jquery复选框全选/取消示例
2013/12/30 Javascript
jQuery siblings()用法实例详解
2016/04/26 Javascript
javascript操作cookie
2017/01/17 Javascript
js实现PC端根据IP定位当前城市地理位置
2017/02/22 Javascript
vue-cli 使用vue-bus来全局控制的实例讲解
2018/09/15 Javascript
VUE-cli3使用 svg-sprite-loader
2018/10/20 Javascript
es6 symbol的实现方法示例
2019/04/02 Javascript
vue路由守卫及路由守卫无限循环问题详析
2019/09/05 Javascript
vue中使用带隐藏文本信息的图片、图片水印的方法
2020/04/24 Javascript
javascript实现移动端红包雨页面
2020/06/23 Javascript
[01:18]一目了然!DOTA2DotA快捷操作对比第一弹
2014/07/01 DOTA
[50:58]2018DOTA2亚洲邀请赛3月29日 小组赛A组OpTic VS Newbee
2018/03/30 DOTA
python中的装饰器详解
2015/04/13 Python
使用Python的Twisted框架实现一个简单的服务器
2015/04/16 Python
python遍历数组的方法小结
2015/04/30 Python
python导入csv文件出现SyntaxError问题分析
2017/12/15 Python
python+selenium实现登录账户后自动点击的示例
2017/12/22 Python
在Python中分别打印列表中的每一个元素方法
2018/11/07 Python
Python3获取电脑IP、主机名、Mac地址的方法示例
2019/04/11 Python
Django应用程序入口WSGIHandler源码解析
2019/08/05 Python
Pytest mark使用实例及原理解析
2020/02/22 Python
python中zip()函数遍历多个列表方法
2021/02/18 Python
互动出版网:专业书籍
2017/03/21 全球购物
大学生评语大全
2014/04/18 职场文书
关于保护环境的标语
2014/06/09 职场文书
安全目标管理责任书
2014/07/25 职场文书
大学生党员个人剖析材料
2014/10/08 职场文书
《弟子规》读后感:知廉耻、明是非、懂荣辱、辨善恶
2019/12/03 职场文书
JavaScript使用canvas绘制坐标和线
2021/04/28 Javascript
详解MySQL集群搭建
2021/05/26 MySQL