httpd支持的虚拟主机类型包括以下三种

  • 基于域名:为每个虚拟主机使用不同的域名、但其对应的IP使相同的。
  • 基于IP地址:为每个虚拟主机使用不同的域名,切各自对应的IP地址也不相同。
  • 基于端口:这种方式并不使用域名、IP地址来区分不同的站点内容,而是使用了不同的TCP端口号,因此用户在浏览不同的虚拟主机站点时需要同时指定端口号才能访问。

环境: http://www.cnblogs.com/zzzhfo/p/5925786.html

1、基于域名的虚拟主机

  • 为虚拟主机提供域名解析

可以自行搭建测试使用的DNS服务器、这里采用本地hosts解析

  • 为虚拟主机准备网页文档

为每个虚拟web主机准备网站目录及网页文档

[root@www /]# mkdir -p /var/www/html/bbs
[root@www /]# mkdir -p /var/www/html/blog
[root@www /]# echo "<h1>bbs.httpd.com<h1/>" > /var/www/html/bbs/index.html
[root@www /]# echo "<h1>blog.httpd.com<h1/>" > /var/www/html/blog/index.html
  • 添加虚拟主机配置
[root@www /]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf                       //配置独立的配置文件
NameVirtualHost *: //设置虚拟主机监听地址
<Directory "/var/www/html"> //设置目录访问权限
Order allow,deny
Allow from all
</Directory> <VirtualHost *:>
DocumentRoot "/var/www/html/bbs"
ServerName bbs.httpd.com
ErrorLog "logs/bbs.httpd.com.error_log"
CustomLog "logs/bbs.httpd.com.access_log" common
</VirtualHost> <VirtualHost *:>
DocumentRoot "/var/www/html/blog"
ServerName blog.httpd.com
ErrorLog "logs/blog.httpd.com.error_log"
CustomLog "logs/dummy-host2.example.com.access_log" common
</VirtualHost> [root@www /]# vim /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf //加载独立的配置文件
[root@www /]# /usr/local/httpd/bin/apachectl restart  //重启服务使配置生效
 
  • 修改hosts文件
[root@www /]# vim /etc/hosts
192.168.119.131 bbs.httpd.com
192.168.119.131 blog.httpd.com
  • 在客户机中访问虚拟web主机
[root@www /]# curl bbs.httpd.com
<h1>bbs.httpd.com<h1/>
[root@www /]# curl blog.httpd.com
<h1>blog.httpd.com<h1/>

2、基于IP地址的虚拟主机

配置基于IP地址的虚拟web主机时,不使用NameVirtualHost配置项来指定监听服务的IP地址

[root@www /]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf                       //配置独立的配置文件

<Directory "/var/www/html">   //设置目录访问权限
Order allow,deny
Allow from all
</Directory> <VirtualHost 192.168.119.131:>
DocumentRoot "/var/www/html/bbs"
ServerName bbs.httpd.com
ErrorLog "logs/bbs.httpd.com.error_log"
CustomLog "logs/bbs.httpd.com.access_log" common
</VirtualHost> <VirtualHost 192.168.119.132:>
DocumentRoot "/var/www/html/blog"
ServerName blog.httpd.com
ErrorLog "logs/blog.httpd.com.error_log"
CustomLog "logs/dummy-host2.example.com.access_log" common
</VirtualHost> [root@www /]# vim /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf //加载独立的配置文件
[root@www /]# /usr/local/httpd/bin/apachectl restart //重启服务使配置生效

3、基于端口的虚拟主机

配置基于端口的虚拟web主机时,不使用NameVirtualHost配置项来指定监听服务的IP地址
[root@www /]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf                       //配置独立的配置文件

<Directory "/var/www/html">   //设置目录访问权限
Order allow,deny
Allow from all
</Directory> <VirtualHost 192.168.119.131:>
DocumentRoot "/var/www/html/bbs"
ServerName bbs.httpd.com
ErrorLog "logs/bbs.httpd.com.error_log"
CustomLog "logs/bbs.httpd.com.access_log" common
</VirtualHost> <VirtualHost 192.168.119.131:>
DocumentRoot "/var/www/html/blog"
ServerName blog.httpd.com
ErrorLog "logs/blog.httpd.com.error_log"
CustomLog "logs/dummy-host2.example.com.access_log" common
</VirtualHost> [root@www /]# vim /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf //加载独立的配置文件
Listen 192.168.119.131:80 //监听80端口
Listen 192.168.119.131:8080 //监听8080端口
[root@www /]# /usr/local/httpd/bin/apachectl restart //重启服务使配置生效

Apache 虚拟主机的更多相关文章

  1. apache 虚拟主机详细配置:http.conf配置详解

    apache 虚拟主机详细配置:http.conf配置详解 Apache的配置文件http.conf参数含义详解 Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd. ...

  2. Apache虚拟主机配置

    在一个Apache服务器上可以配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录.Apache虚拟主机配置有3中方法:基于IP配置.基于域名配置和基于端口配置,这里介 ...

  3. 烂泥:apache虚拟主机的学习与应用

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 要配置apache的虚拟主机,我们需要分以下几步进行: 1. 检查apache虚拟主机模块 2. 开启apache虚拟主机功能 3. httpd-vho ...

  4. Apache虚拟主机配置(多个域名访问多个目录)

    Apache虚拟主机配置(多个域名访问多个目录) 为了方便管理虚拟主机,我决定使用一种方法,那就是修改httpd-vhosts.conf文件. 第一步首先要使扩展文件httpd-vhosts.conf ...

  5. 配置apache虚拟主机的实例总结

    如何实现apache虚拟主机配置. 1.基于ip地址的虚拟主机Listen 80<VirtualHost 172.20.30.40> DocumentRoot /home/httpd/ht ...

  6. apache虚拟主机安装注意事项

    apache虚拟主机在添加的时候,总是会有一些莫名其妙的问题,后来发现可以使用一个参数去验证的: xxxxx/httpd -S //这个参数会去检查虚拟主机配置的正确性,很好用 因为有时候可能就是缩进 ...

  7. django 项目部署在 Apache 后, 设置二级域名(Apache虚拟主机 、 万网二级域名设置)

    上一篇文章简单说了怎么把django的项目部署到Apache上. 现在想弄个二级域名,也就是我原来有个域名 www.mysite.com,现在我想弄个 bbs.mysite.com ,该怎么做呢. 要 ...

  8. Ubuntu16.04+Apache虚拟主机配置详解

    在window下,Apache的配置文件是httpd.conf,但在Linux下安装了Apache后发现其配置并不像window下那么简单,Linux下Apache将各个设置项分在了不同的配置文件中, ...

  9. windows环境下,apache虚拟主机配置

    在windows环境下,apache从配置文件的相关配置: Windows 是市场占有率最高的 PC 操作系统, 也是很多人的开发环境. 其 VirtualHost 配置方法与 Linux 上有些差异 ...

  10. Apache虚拟主机实战

    [root@localhost ~]# wget http://mirrors.hust.edu.cn/apache/httpd/httpd-2.2.32.tar.bz2  [root@localho ...

随机推荐

  1. Java 开发技巧

    一 读取配置文件 1 Properties读取配置文件 编写配置文件config.properties放在普通java工程的src目录(如果是maven工程就放在工程的src/main/resourc ...

  2. 【转载】Linux 与 BSD 有什么不同?

    原创:Linux中国 https://linux.cn/article-3186-1.html 原创:LCTT https://linux.cn/article-3186-1.html 本文地址:ht ...

  3. 今天执行grep命令差点把服务器搞崩

    grep "rst" -r ./ >> a.log 今天执行这个命令差点把服务器搞崩了. 本意是查找所有源代码文件中含有rst字符串的行,打印到文件a.log中,然后进 ...

  4. 9月14日JavaScript循环语句作业解析

    1.一张纸的厚度是0.0001米,将纸对折,对折多少次厚度超过珠峰高度8848米 解法一: var gd = 8848; var cs = 0; while(true) { cs++; gd = gd ...

  5. js中event的target和currentTarget的区别

    js中的event对象包含很多有用的信息 target:触发事件的元素. currentTarget:事件绑定的元素. 两者在没有冒泡的情况下,是一样的值,但在用了事件委托的情况下,就不一样了,例如: ...

  6. Error: [$rootScope:inprog] $digest already in progress

    我在 做一个 服务器分配成功以后需要更新 整个页面,我的思路是 更新成功以后,就手动的 触发一下 搜索按钮,但是在触发后,虽然成功刷新了页面,但是出现了一个 错误提示, Error: [$rootSc ...

  7. [ngRepeat:dupes] Duplicates in a repeater are not allowed. Use 'track by' expression to specify uniq

    angularjs 使用ng-repeat报错 <div ng-init="words = ['高校','高校','高校']" ng-repeat="word in ...

  8. php生成excle

    方法一: 新建index.php,代码如下 <?php header("Content-type:application/vnd.ms-excel"); header(&qu ...

  9. Unity 播放 视频

    Unity3D 播放视频 http://www.cnblogs.com/fortomorrow/archive/2012/11/01/unity07.html Unity3D研究院之两种方式播放游戏视 ...

  10. Robot Framework--11 RF结合Jenkins

    转自:http://blog.csdn.net/tulituqi/article/details/17846463 为什么我们要引入RF?其实最初我们引入RF是为了能够快速的开展自动化验收测试,为敏捷 ...