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的web集群项目
Nov 27 Servers
Nginx中使用Lua脚本与图片的缩略图处理的实现
Mar 18 Servers
Nginx动静分离配置实现与说明
Apr 07 Servers
openstack云计算keystone组件工作介绍
Apr 20 Servers
Nginx利用Logrotate实现日志分割
May 20 Servers
Linux磁盘管理方法介绍
Jun 01 Servers
openEuler 搭建java开发环境的详细过程
Jun 10 Servers
在虚拟机中安装windows server 2008的图文教程
Jun 28 Servers
Nginx报错104:Connection reset by peer问题的解决及分析
Jul 23 Servers
Nginx使用ngx_http_upstream_module实现负载均衡功能示例
Aug 05 Servers
源码安装apache脚本部署过程详解
Sep 23 Servers
CentOS7设置ssh服务以及端口修改方式
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投票系统防刷票判断流程分析
2012/02/04 PHP
简单谈谈PHP面向对象之标识对象
2017/06/27 PHP
php中目录操作opendir()、readdir()及scandir()用法示例
2019/06/08 PHP
jquery中常用的SET和GET
2009/01/13 Javascript
javascript 框架小结 个人工作经验
2009/06/13 Javascript
jquery append()方法与html()方法的区别及使用介绍
2014/08/01 Javascript
javascript中HTMLDOM操作详解
2014/12/11 Javascript
jQuery实现定时读取分析xml文件的方法
2015/07/16 Javascript
jQuery插件实现文字无缝向上滚动效果代码
2016/02/25 Javascript
hovertree插件实现二级树形菜单(简单实用)
2016/12/28 Javascript
jquery实现转盘抽奖功能
2017/01/06 Javascript
promise和co搭配生成器函数方式解决js代码异步流程的比较
2018/05/25 Javascript
jquery判断滚动条距离顶部的距离方法
2018/09/05 jQuery
灵活使用console让js调试更简单的方法步骤
2019/04/23 Javascript
Python读写Redis数据库操作示例
2014/03/18 Python
Python中字符串对齐方法介绍
2015/05/21 Python
编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
2016/01/20 Python
Python的Flask框架中集成CKeditor富文本编辑器的教程
2016/06/13 Python
Python实现快速计算词频功能示例
2018/06/25 Python
华为校园招聘上机笔试题 扑克牌大小(python)
2020/04/22 Python
浅谈Pandas Series 和 Numpy array中的相同点
2019/06/28 Python
python tkinter之 复选、文本、下拉的实现
2020/03/04 Python
numpy矩阵数值太多不能全部显示的解决
2020/05/14 Python
Python通过类的组合模拟街道红绿灯
2020/09/16 Python
打架检讨书50字
2014/01/11 职场文书
五好党支部事迹材料
2014/02/06 职场文书
超市活动计划书
2014/04/24 职场文书
求职信范文大全
2014/05/26 职场文书
教师批评与自我批评(群众路线)
2014/10/15 职场文书
滞留工资返还协议书
2014/10/19 职场文书
优秀校长事迹材料
2014/12/24 职场文书
教师个人年终总结
2015/02/11 职场文书
2015年社区平安建设工作总结
2015/05/13 职场文书
2016中秋节月饼促销广告语
2016/01/28 职场文书
Python图片验证码降噪和8邻域降噪
2021/08/30 Python
KVM基础命令详解
2022/04/30 Servers