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. 精通javascript(看书笔记)

    变量的类型检查 //检测类型 var str = "Hello World"; if (typeof str=="string") {//使用typeof来判断 ...

  2. JS-鼠标经过显示二级菜单

    在css处添加了border样式为了看得更清楚——源代码有一个程序漏洞,存在一个很烦人的大bug. <ul class="nav"> <li class=&quo ...

  3. nosql理解

    1.NoSQL是什么? NoSQL 是 Not Only SQL 的缩写,意即"不仅仅是SQL"的意思,泛指非关系型的数据库.强调Key-Value Stores和文档数据库的优点 ...

  4. SQL ALTER TABLE 语句在项目中的使用

    1.在实际的项目开发过程中,之前已经创建好的实体类可能需要增加/删除字段,亦或是更改已有字段的属性,比如主键的增长策略从自增型改为UUID型,那么就会涉及到 SQL 中 alter table 语句的 ...

  5. JavaWeb学习笔记——JSP标准标签库JSTL

  6. Java——其他容器

    除了JFrame表示之外,还有其他几种常见的窗体:JPanel.JSplitPane.JTabbedPane.JScrollPane.JDesktopPane.JInternalFrame等. imp ...

  7. Cache-Aside Pattern解析

    使用这种模式,可以帮助我们维护Cache中的数据. 使用Cache容易遇到的问题: 使用缓存,主要是为了将一些重复访问的数据存到缓存,开发者希望缓存中的数据和数据源中的保持一致,这就需要程序中有相应的 ...

  8. GC算法

    http://www.brpreiss.com/books/opus5/html/page424.html http://www.brpreiss.com/books/opus5/html/page4 ...

  9. 正则匹配IP

    分析 IP地址的长度为32位,分为4段,每段8位,用十进制数字表示,每段数字范围为0~255( 2^8 ),段与段之间用英文句点“.”隔开.例如:某台计算机IP地址为10.11.44.100. IP地 ...

  10. How to debug windows service

    Step 1. Add the following code in what you want to debug. System.Diagnostics.Debugger.Launch(); Step ...