Apache 虚拟主机NameVirtualHost

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

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

1、基于域名的虚拟主机

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

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

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

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

[[email protected] /]# mkdir -p /var/www/html/bbs
[[email protected] /]# mkdir -p /var/www/html/blog
[[email protected] /]# echo "<h1>bbs.httpd.com<h1/>" > /var/www/html/bbs/index.html
[[email protected] /]# echo "<h1>blog.httpd.com<h1/>" > /var/www/html/blog/index.html
  • 添加虚拟主机配置
[[email protected] /]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf                       //配置独立的配置文件
NameVirtualHost *:80      //设置虚拟主机监听地址
<Directory "/var/www/html">   //设置目录访问权限
  Order allow,deny
  Allow from all
</Directory>

<VirtualHost *:80>
    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 *:80>
    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>

[[email protected] /]# vim /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf    //加载独立的配置文件
[[email protected] /]# /usr/local/httpd/bin/apachectl restart  //重启服务使配置生效
 
  • 修改hosts文件
[[email protected] /]# vim /etc/hosts
192.168.119.131  bbs.httpd.com
192.168.119.131  blog.httpd.com
  • 在客户机中访问虚拟web主机
[[email protected] /]# curl bbs.httpd.com
<h1>bbs.httpd.com<h1/>
[[email protected] /]# curl blog.httpd.com
<h1>blog.httpd.com<h1/>

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

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

[[email protected] /]# 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:80>
    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:80>
    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>

[[email protected] /]# vim /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf    //加载独立的配置文件
[[email protected] /]# /usr/local/httpd/bin/apachectl restart  //重启服务使配置生效

3、基于端口的虚拟主机

配置基于端口的虚拟web主机时,不使用NameVirtualHost配置项来指定监听服务的IP地址
[[email protected] /]# 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:80>
    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:80>
    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>

[[email protected] /]# 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端口
[[email protected] /]# /usr/local/httpd/bin/apachectl restart  //重启服务使配置生效
时间: 2024-08-07 20:22:51

Apache 虚拟主机NameVirtualHost的相关文章

Apache虚拟主机搭建(单IP多网站服务器配置)

一些小型网站若一个网站放在一台服务器上会大量浪费服务器资源,如何在一个服务器上架设多个网站呢? 我们已经知道,架设一个网站需要http服务,安装Apache后,我们可以把我们网站的内容放入到/usr/local/apache2/htdocs/里面,启动httpd服务,设置好防火墙,就可以浏览我们的网站了,那么若是想要部署多个网站要怎么做呢?这就需要apache的一个vhost虚拟主机功能了.我们来用一个实验实现这个效果:计算机浏览器输入www.a.com 显示"I am A!",输入w

DNS服务+Apache虚拟主机

安装RPM包 [[email protected] extra]# rpm -qa | grep "^bind" bind-chroot-9.8.2-0.17.rc1.el6_4.6.x86_64 伪根 (可有可无) 主要: bind-libs-9.8.2-0.17.rc1.el6_4.6.x86_64 bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64 bind-9.8.2-0.17.rc1.el6_4.6.x86_64 安装软件包 yum instal

http服务(四)——apache虚拟主机配置

apache虚拟主机分为三类:基于IP.基于端口.基于域名.通常虚拟主机和物理主机不能同时使用,开启虚拟主机需注释掉以下一行: DocumentRoot "/var/www/html" 一.基于IP 1. 假设服务器有个IP地址为192.168.1.10,使用ifconfig在同一个网络接口eth0上绑定3个IP: [[email protected] root]# ifconfig eth0:1 192.168.1.11 [[email protected] root]# ifcon

Apache 虚拟主机

Apache虚拟主机 开启虚拟主机配置文件 在 httpd.conf 配置文件中  查找 : #Include etc//extra/httpd-vhosts.conf    ( 默认是关闭状态 去掉前面 # 则为开启) 开启 httpd-vhosts.conf 后默认 httpd.conf 中的主机配置信息将失效 所有站点需全部在 httpd-vhosts.conf 中设置 httpd-vhosts.conf  文件 NameVirtualHost 192.168.1.3:80 <Virtua

配置apache虚拟主机,实现在一台服务器上运行多个网站

配置apache虚拟主机,实现在一台服务器上运行多个网站 apache虚拟主机实现有三种方法: 1.通过不同的IP地址 2.通过不同的域名 3.通过不同的端口号 三种都需要把虚拟主机功能打开: [[email protected] ~]# vim /etc/httpd/conf/httpd.conf 改: #NameVirtualHost *:80 为: NameVirtualHost *:80 方法1:通过不同的IP地址,解析不同的域名 给服务器增加IP(另一个域名解析) [[email pr

wamp开发环境配置之配置Apache虚拟主机

网站建设人员在本地测试时,常常不是一个网站,那怎么能像输入域名一样在地址栏上面输入“域名”就能本地访问该网站呢?这里就要配置Apache虚拟主机了! 1.找到apache\conf\httpd.conf文件,在文件中找到代码 #Include conf/extra/httpd-vhosts.conf 将前面的 # 删去! 2.找到apache\conf\extra\httpd-vhosts.conf文件,咱们就要在这个文件中配置虚拟机!打开该文件,你可以将代码前面有#的全部删除,他们只是起到注释

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

本文由秀依林枫提供友情赞助,首发于烂泥行天下. 要配置apache的虚拟主机,我们需要分以下几步进行: 1. 检查apache虚拟主机模块 2. 开启apache虚拟主机功能 3. httpd-vhosts.conf文件详解 4. 根据IP配置虚拟主机 5. 根据端口配置虚拟主机 6. 根据域名配置虚拟主机 一.检查apache虚拟主机模块 apache要配置虚拟主机,就需要先查看apache是否编译vhost_alias_module模块.当然apache默认是已经编译该模块的,我们可以通过以

apache虚拟主机配置及解析

Apache虚拟主机配置及解析 1.修改httpd-vhosts.conf 打开apache(Apache24)/conf/extra/httpd-vhosts.conf文件,添加虚拟主机信息,可以这只不同的域名指向不同的文件目录 <VirtualHost *:80> ServerAdmin [email protected]163.com # 服务管理员邮箱地址,出问题时发送邮件到这个邮箱 DocumentRoot "D:/AppServ/www/wx" # apache

Apache虚拟主机配置

在一个Apache服务器上可以配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录.Apache虚拟主机配置有3中方法:基于IP配置.基于域名配置和基于端口配置,这里介绍基于域名配置和基于端口配置,基于IP配置方法类似. 1. Apache基于域名配置虚拟主机: 打开Apache安装目录下的配置文件conf/extra/httpd-vhosts.conf,添加如下配置信息: <VirtualHost _default_:80> DocumentRoot &quo