【转】Apache 配置虚拟主机三种方式

Apache 配置虚拟主机三种方式

原文博客http://www.cnblogs.com/hi-bazinga/archive/2012/04/23/2466605.html

一、基于IP

 1. 假设服务器有个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

 2. 修改hosts文件,添加三个域名与之一一对应:

192.168.1.11   www.test1.com
192.168.1.12   www.test2.com
192.168.1.13   www.test3.com

 3. 建立虚拟主机存放网页的根目录,如在/www目录下建立test1、test2、test3文件夹,其中分别存放1.html、2.html、3.html

/www/test1/1.html
/www/test2/2.html
/www/test3/3.html

 

 4. 在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>
复制代码

 5. 大功告成,测试下每个虚拟主机,分别访问www.test1.com、www.test2.com、www.test3.com

 

二、基于主机名

 1. 设置域名映射同一个IP,修改hosts:

192.168.1.10  www.test1.com
192.168.1.10  www.test2.com
192.168.1.10  www.test3.com

 2. 跟上面一样,建立虚拟主机存放网页的根目录

/www/test1/1.html
/www/test2/2.html
/www/test3/3.html

 

 3. 在httpd.conf中将附加配置文件httpd-vhosts.conf包含进来,接着在httpd-vhosts.conf中写入如下配置:

 

为了使用基于域名的虚拟主机,必须指定服务器IP地址(和可能的端口)来使主机接受请求。可以用NameVirtualHost指令来进行配置。 如果服务器上所有的IP地址都会用到, 你可以用*作为NameVirtualHost的参数。在NameVirtualHost指令中指明IP地址并不会使服务器自动侦听那个IP地址。 这里设定的IP地址必须对应服务器上的一个网络接口。

  下一步就是为你建立的每个虚拟主机设定<VirtualHost>配置块,<VirtualHost>的参数与NameVirtualHost指令的参数是一样的。每个<VirtualHost>定义块中,至少都会有一个ServerName指令来指定伺服哪个主机和一个DocumentRoot指令来说明这个主机的内容存在于文件系统的什么地方。

  如果在现有的web服务器上增加虚拟主机,必须也为现存的主机建造一个<VirtualHost>定义块。其中ServerName和DocumentRoot所包含的内容应该与全局的保持一致,且要放在配置文件的最前面,扮演默认主机的角色。

复制代码
NameVirtualHost *:80
<VirtualHost *:80>  

  ServerName *

  DocumentRoot /www/ 

</VirtualHost>

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

  ServerName www.test2.com

  DocumentRoot /www/test2/

  <Directory "/www/test2">

    Options Indexes FollowSymLinks

    AllowOverride None

    Order allow,deny

    Allow from all

  </Directory>

</VirtualHost>

<VirtualHost *:80>

  ServerName www.test3.com

  DocumentRoot /www/test3/

  <Directory "/www/test3">

    Options Indexes FollowSymLinks

    AllowOverride None

    Order allow,deny

    Allow from all

  </Directory>

</VirtualHost>
复制代码

 4. 大功告成,测试下每个虚拟主机,分别访问www.test1.com、www.test2.com、www.test3.com

 

三、基于端口

1.  修改配置文件

  将原来的

    Listen 80
      改为
      Listen 80
      Listen 8080


2. 更改虚拟主机设置:

复制代码
<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>
复制代码

转载于:https://www.cnblogs.com/irockcode/p/6254462.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/429713.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux weblogic 防火墙,本地访问weblogic控制台无反应,关闭linux操作系统防火墙

有时候&#xff0c;我们在Linux操作系统上成功启动了weblogic&#xff0c;也查看了7001端口的状态是开启的。但是访问weblogic控制台没有反应&#xff0c;也没有报错。使用 netstat -ano | grep 7001 查看端口的状态可是访问weblogic控制台&#xff0c;还是没有反应。我们在本地…

fedora linux搜狗输入法,在Fedora 28系统下安装搜狗输入法

以下介绍在Fedora 28系统下安装搜狗输入法&#xff0c;也适用在Fedora 27下的安装&#xff0c;亲测可以。先声明一下&#xff0c;在Fedora 27及以后版本中出现的输入框候选词界面变形但不影响使用。第一步&#xff1a;安装fzug软件源具体方法如下&#xff1a;1.添加 FZUG 源Fed…

linux reboot命 过程,IDRAC安装dell服务器操作系统(linux or windows),用到生命周期管理器...

1、首先给服务器装上idrac模块&#xff0c;然后给idrac配置一个远程IP&#xff0c;用作管理2、在web界面输入IP&#xff0c;弹出以下界面&#xff0c;输入账号密码登录3、认证成功后&#xff0c;点击虚拟控制台启动4、进入如下界面&#xff0c;点击菜单栏的《虚拟介质》&#x…

DroidPlugin插件化开发

360手机助手使用的 DroidPlugin&#xff0c;它是360手机助手团队在Android系统上实现了一种插件机制。它可以在无需安装、修改的情况下运行APK文件,此机制对改进大型APP的架构&#xff0c;实现多团队协作开发具有一定的好处。 它是一种新的插件机制&#xff0c;一种免安装的运行…

io wait linux,另辟蹊径-诊断工具之 IO wait

导读最近在做日志的实时同步&#xff0c;上线之前是做过单份线上日志压力测试的&#xff0c;消息队列和客户端、本机都没问题&#xff0c;但是没想到上了第二份日志之后&#xff0c;问题来了&#xff1a;1、问题&#xff1a;集群中的某台机器 top 看到负载巨高&#xff0c;集群…

Oracle第二天

Oracle第二天 整体安排&#xff08;3天&#xff09; 第一天&#xff1a;Oracle的安装配置&#xff08;服务端和客户端&#xff09;&#xff0c;SQL增强&#xff08;单表查询&#xff09;。 第二天&#xff1a;SQL增强&#xff08;多表查询、子查询、伪列-分页&#xff09;&…

linux搭建虚拟化平台报告,部署KVM虚拟化平台------搭建(示例代码)

一 、部署KVM虚拟化平台hyper-v是windows中的虚拟化1、KVM模块直接整合在Linux内核中&#xff0c;kvm是内核模块&#xff0c;虚拟机与kvm模块之间为管理工具2、KVM组成1.KVM Driver---虚拟机创建---虚拟机内存分配---虚拟CPU寄存器读写---虚拟CPU运行2.QEMU (经过简化与修改)--…

linux 选择文件指定的行数据类型,06练习题

1.如何删除一个非空子目录/tmp&#xff1f; BA. del /tmp/*B. rm -rf /tmpC. rm -Ra /tmp/*D. rm -rf /tmp/*2.存放linux默认系统日志文件是 BA./var/log/dmesg #系统启动时日志B./var/log/messages #系统日志C./var/log/secure #登录相关 安全3.用命令ls -l显示出来文件txt的描…

C#多线程编程

C#多线程编程 一、使用线程的理由 1、可以使用线程将代码同其他代码隔离&#xff0c;提高应用程序的可靠性。 2、可以使用线程来简化编码。 3、可以使用线程来实现并发执行。 二、基本知识 1、进程与线程&#xff1a;进程作为操作系统执行程序的基本单位&#xff0c;拥有应用程…

《DSP using MATLAB 》示例Example6.3

代码&#xff1a; C0 0; B1 [2 4; 3 1]; A1 [1 1 0.9; 1 0.4 -0.4]; B2 [0.5 0.7; 1.5 2.5; 0.8 1]; A2 [1 -1 0.8; 1 0.5 0.5; 1 0 -0.5]; [b1, a1] par2dir(C0, B1, A1)[b2, a2] par2dir(C0, B2, A2)b conv(b1, b2) % Overall direct form numerator a conv(a1…

简单说明c语言程序步骤,C语言的入门简介和三个简单的C语言程序详细说明

学习一种编程语言&#xff0c;最重要的是建立一个练习环境&#xff0c;边学边练才能学好。Keil软件是目前最流行开发80C51系列单片机的软件&#xff0c;Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案&#xff0c;通过一个集成…

java入门,学习笔记

编译 通过javac编译java程序&#xff0c;会编译出一个后缀为class的文件&#xff0c;我们再通过java虚拟机&#xff08;jvm&#xff09;执行编译后的java程序。 在java中始终有一个main函数&#xff0c;它作为程序的入口&#xff0c;程序从这个入口开始执行一直到结束。 public…

linux命令之ifconfig详细解释

依赖于ifconfig命令中使用一些选项属性&#xff0c;ifconfig工具不仅可以被用来简单地获取网络接口配置信息&#xff0c;还可以修改这些配置。 1&#xff0e;命令格式&#xff1a; ifconfig [网络设备] [参数] 2&#xff0e;命令功能&#xff1a; ifconfig 命令用来查看和配置网…

loadrunner controller:实时查看VUser的运行情况

1) 如下图&#xff0c;在Run标签页&#xff0c;点击“Vusers...”打开Vuser窗口&#xff1b; 2) 如下图选中一个Vuser点击按钮可以打开Run-Time Viewer窗口&#xff0c;RTV窗口页面显示的就是该Vuser当前的操作&#xff1b; 3) 如下图所示&#xff0c;…

【二色汉诺塔 】

/* 二色汉诺塔 */#include <stdio.h>void hanoi(int disks, char sources, char temp, char target) {if(disks 1){printf("move disk from %c to %c \n", sources, target);printf("move disk from %c to %c \n", sources, target);}else{hanoi(d…

c语言凸包算法,基于C语言的凸包算法实现

基于C语言的凸包算法实现非计算机专业&#xff0c;代码有些的不好的地方&#xff0c;大佬轻喷^ _ ^根据要求&#xff0c;需要使用C语言实现凸包算法——Graham扫描法&#xff0c;本文将从算法理解、实现思路、遇到的问题及其解决方案三个方面来阐述实现过程。算法理解凸包算法G…

VS Code 使用小技巧

所有插件查找地址&#xff08;https://marketplace.visualstudio.com/&#xff09; 编码快捷方式&#xff08;http://docs.emmet.io/cheat-sheet/&#xff09; 安装插件出现 错误unable to verify the first certificate &#xff08;无法确认第一证书&#xff09;   解决方…

android 怎么自定义任务栈,Android中的Activity详解--启动模式与任务栈

目录Activity生命周期任务栈启动模式Intent FlagtaskAffinity属性1.Activityactivity的简单介绍就不写了&#xff0c;作为最常用的四大组件之一&#xff0c;肯定都很熟悉其基本用法了。2.生命周期首先&#xff0c;是都很熟悉的一张图&#xff0c;即官方介绍的Activity生命周期图…

SQL Server--疑难杂症之坑爹的Windows故障转移群集

-- 估计是春节前最后一次写博客&#xff0c;也估计是本年值班最后一次踩雷&#xff0c;感叹下成也SQL SERVER&#xff0c;败也SQL SERVER。 -- 场景描述&#xff1a; 操作系统版本 &#xff1a;Windows Server 2012 数据中心版本 数据库版本 &#xff1a;SQL SERVER 2012 企业版…

android handle 阻塞,Android全面解析之Handler机制:常见问题汇总

主线程为什么不用初始化Looper&#xff1f;答&#xff1a;因为应用在启动的过程中就已经初始化主线程Looper了。每个java应用程序都是有一个main方法入口&#xff0c;Android是基于Java的程序也不例外。Android程序的入口在ActivityThread的main方法中&#xff1a;// 初始化主线…