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 proxy_cache 缓存配置详解
Mar 31 Servers
apache基于端口创建虚拟主机的示例
Apr 24 Servers
Apache POI的基本使用详解
Nov 07 Servers
nginx中封禁ip和允许内网ip访问的实现示例
Mar 17 Servers
CentOS安装Nginx并部署vue
Apr 12 Servers
Tomcat执行startup.bat出现闪退的原因及解决办法
Apr 20 Servers
Windows Server 2012配置DNS服务器的方法
Apr 29 Servers
KVM基础命令详解
Apr 30 Servers
永中文档在线转换预览基于nginx配置部署方案
Jun 10 Servers
Nginx代理Redis哨兵主从配置的实现
Jul 15 Servers
windows server2016安装oracle 11g的图文教程
Jul 15 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
为jquery.ui.dialog 增加“在当前鼠标位置打开”的功能
2009/11/24 Javascript
Javascript异步表单提交,图片上传,兼容异步模拟ajax技术
2010/05/10 Javascript
innerHTML与jquery里的html()区别介绍
2012/10/12 Javascript
jQuery+PHP打造滑动开关效果
2014/12/16 Javascript
jQuery制作简洁的图片轮播效果
2015/04/03 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
2015/11/02 Javascript
在JavaScript中调用Java类和接口的方法
2016/09/07 Javascript
JS实现汉字与Unicode码相互转换的方法详解
2017/04/28 Javascript
postman+json+springmvc测试批量添加实例
2018/03/31 Javascript
JS实现统计字符串中字符出现个数及最大个数功能示例
2018/06/04 Javascript
JavaScript使用享元模式实现文件上传优化操作示例
2018/08/07 Javascript
angular6 利用 ngContentOutlet 实现组件位置交换(重排)
2018/11/02 Javascript
通过javascript实现段落的收缩与展开
2019/06/26 Javascript
JS原型和原型链原理与用法实例详解
2020/02/05 Javascript
在Vue中实现随hash改变响应菜单高亮
2020/03/09 Javascript
基于JS实现计算24点算法代码实例解析
2020/07/23 Javascript
vue 使用vant插件做tabs切换和无限加载功能的实现
2020/11/04 Javascript
详解使用python crontab设置linux定时任务
2016/12/08 Python
Python随机生成均匀分布在单位圆内的点代码示例
2017/11/13 Python
Django使用uwsgi部署时的配置以及django日志文件的处理方法
2019/08/30 Python
Django框架下静态模板的继承操作示例
2019/11/08 Python
Python使用Tkinter实现转盘抽奖器的步骤详解
2020/01/06 Python
python的help函数如何使用
2020/06/11 Python
opencv 图像加法与图像融合的实现代码
2020/07/08 Python
Python如何设置指定窗口为前台活动窗口
2020/08/12 Python
pandas 按日期范围筛选数据的实现
2021/02/20 Python
巴黎卡诗美国官方网站:始于1964年的头发头皮护理专家
2017/07/10 全球购物
个人简历中的自我评价怎么写
2014/01/26 职场文书
中式结婚主持词
2014/03/14 职场文书
家长学校工作方案
2014/05/07 职场文书
森林防火标语
2014/06/23 职场文书
2014年最新大专生职业生涯规划书范文
2014/09/13 职场文书
2015年护士长个人工作总结
2015/04/24 职场文书
2016年教师新年寄语
2015/08/18 职场文书
Spring Boot 启动、停止、重启、状态脚本
2021/06/26 Java/Android
Python编写车票订购系统 Python实现快递收费系统
2022/08/14 Python