文档章节

Apache之——多虚拟主机多站点配置的两种实现方案

a6248951
 a6248951
发布于 2016/10/24 19:40
字数 987
阅读 3
收藏 0

Apache中配置多主机多站点,可以通过两种方式实现:

  • 将同一个域名的不同端口映射到不同的虚拟主机,不同端口映射到不同的站点;
  • 将同一个端口映射成不同的域名,不同的域名映射到不同的站点。

我们只需要修改相应的配置文件即可。

一、准备工作

1、修改系统 hosts文件

我是在我自己的电脑上操作的,我的系统是win7,所以先修改win7系统的hosts文件,增加两个域名映射,以便后面备用。hosts文件的路径是:C:/Windows/System32/drivers/etc/hosts,在这个文件中我们加入如下两行代码:

 

[plain] view plain copy

  1. 127.0.0.1 www.liuyazhuang.com  
  2. 127.0.0.1 www.lyz.com  

这两行代码的意思是将www.liuyazhuang.com和www.lyz.com映射到本机的ip地址上。

 

2、准备两个站点

在d:/Apache目录下分别准备两个站点myweb1和myweb2,这两个站点下分别有一个index.html文件,myweb1下index.html内容是"我是第一个站点",myweb2站点下的index.html内容是"我是第二个站点"。

具体如下图所示:

好了,到此,站点准备完毕

二、具体实现

我们分别讲解两种不同的实现方案

1、修改Apache的httpd.conf文件

1)修改监听端口

在Apache的httpd.conf中,将监听端口修改为8080和8090,具体如下图所示:

2)注释默认的访问路径

在httpd.conf文件中找到如下代码:

 

[plain] view plain copy

  1. DocumentRoot "D:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs"  

将这行代码注释掉,如下图:

 

3)打开引入httpd-vhosts.conf文件的注释

在httpd.conf文件中找到如下代码:

 

[plain] view plain copy

  1. # Virtual hosts  
  2. #Include conf/extra/httpd-vhosts.conf  

将#Include conf/extra/httpd-vhosts.conf这行代码的注释打开,如下图:

 

2、修改Apache的httpd-vhosts.conf文件

我们说到的方案一和方案二,只是在配置httpd-vhosts.conf文件的时候有所不同。

方案一、

将同一个域名的不同端口映射到不同的虚拟主机,不同端口映射到不同的站点

在httpd-vhosts.conf文件中添加如下代码:

 

[plain] view plain copy

  1. #配置我们自己的虚拟主机  
  2. <VirtualHost www.lyz.com:8080>  
  3.     #配置访问跟目录  
  4.     DocumentRoot "d:/Apache/myweb1"  
  5.     #这里配置欢迎首页面  
  6.     DirectoryIndex index.html index.htm index.php  
  7.     <Directory />  
  8.     Options FollowSymLinks  
  9.     #不允许别人修改我们的页面  
  10.     AllowOverride None  
  11.     #设置访问权限  
  12.     Order allow,deny  
  13.     Allow from All  
  14.     </Directory>  
  15. </VirtualHost>  
  16.   
  17. #配置我们自己的虚拟主机  
  18. <VirtualHost www.lyz.com:8090>  
  19.     #配置访问跟目录  
  20.     DocumentRoot "d:/Apache/myweb2"  
  21.     #这里配置欢迎首页面  
  22.     DirectoryIndex index.html index.htm index.php  
  23.     <Directory />  
  24.     Options FollowSymLinks  
  25.     #不允许别人修改我们的页面  
  26.     AllowOverride None  
  27.     #设置访问权限  
  28.     Order allow,deny  
  29.     Allow from All  
  30.     </Directory>  
  31. </VirtualHost>  

具体如下图所示:

 

启动Apache在浏览器中输入:http://www.lyz.com:8080显示"我是第一个站点",输入:http://www.lyz.com:8090显示"我是第二个站点"。

方案二、

将同一个端口映射成不同的域名,不同的域名映射到不同的站点。

在httpd-vhosts.conf文件中添加如下代码:

 

[plain] view plain copy

  1. #配置我们自己的虚拟主机  
  2. <VirtualHost *:8080>  
  3.     #配置访问跟目录  
  4.     DocumentRoot "d:/Apache/myweb1"      
  5.     ServerName www.lyz.com  
  6.     #这里配置欢迎首页面  
  7.     DirectoryIndex news.html index.html index.htm index.php  
  8.     <Directory />  
  9.     Options FollowSymLinks  
  10.     #不允许别人修改我们的页面  
  11.     AllowOverride None  
  12.     #设置访问权限  
  13.     Order allow,deny  
  14.     Allow from all  
  15.     </Directory>  
  16. </VirtualHost>  
  17.   
  18. #配置我们自己的虚拟主机  
  19. <VirtualHost *:8080>  
  20.     #配置访问跟目录  
  21.     DocumentRoot "d:/Apache/myweb2"  
  22.     ServerName www.liuyazhuang.com  
  23.     #这里配置欢迎首页面  
  24.     DirectoryIndex news.html index.html index.htm index.php  
  25.     <Directory />  
  26.     Options FollowSymLinks  
  27.     #不允许别人修改我们的页面  
  28.     AllowOverride None  
  29.     #设置访问权限  
  30.     Order allow,deny  
  31.     Allow from all  
  32.     </Directory>  
  33. </VirtualHost>  

具体如下图所示:

 

启动Apache在浏览器中输入:http://www.lyz.com:8080显示"我是第一个站点",输入:http://www.liuyazhuang.com:8080显示"我是第二个站点"。

本文转载自:

共有 人打赏支持
a6248951
粉丝 0
博文 1
码字总数 0
作品 0
深圳
Apache配置站点与虚拟目录

一、单站点配置: 在apache中,配置一个站点是最基础的配置,在这里我只是要配置一个最基础的WEB站点,因此配置方式也是 非常简单,具体配置方式如下: #########主站点配置########### #侦听...

小代码2016
2014/12/27
0
0
轻量级 Web 服务器

最近几年,市场上出现了很多有趣的 Web 服务器实现,包括 lighthttpd、litespeed 和 mongrel 等。这些 Web 服务器都宣称结合了性能、易管理性、可移植性、安全性和其他相关价值。下面的工程研...

红薯
2008/11/28
7.4K
6
关于Apache的25个初中级面试题

2014-04-03 程序猿 本文涵盖了25个有趣的Apache工作面试中会提出的问题,并附带有它们的答案,因此你可以方便的理解也许你之前从来没有见到过的一些有关于Apache的新事物. 在你开始阅读这篇文...

Yamazaki
2014/04/13
0
0
K8S集群使用Ingress实现网站入口动静分离实践

今年3月份在公司的内部k8s培训会上,和研发同事详细探讨了应用部署容器化部署的几个问题,问题简要如下: 1、java应用容器化部署 首先通过自动化部署工具编译出全量的war包,将war包直接编译...

ylw6006
05/16
0
0
Linux自学笔记——httpd2.2基础配置

http服务器程序: httpd(apache) nginx lighttpd 应用程序服务器: IIS: .net tomcat:.jsp 可访问网址:www.netcraft.com httpd的安装和使用: ASF:apache software foundation httpd:a...

claude_liu
2017/11/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

深入理解OAuth2.0协议

1. 引言 如果你开车去酒店赴宴,你经常会苦于找不到停车位而耽误很多时间。是否有好办法可以避免这个问题呢?有的,听说有一些豪车的车主就不担心这个问题。豪车一般配备两种钥匙:主钥匙和泊...

xtof
10分钟前
0
0
Linux学习-0920

3.4 usermod命令 3.5 用户密码管理 3.6 mkpasswd命令 一、usermode命令 usermode作用是用来修改用户信息。 方法: usermod 参数 username 示例1:修改用户uid usermod -u 1010 test5 示例2...

wxy丶
20分钟前
0
0
synchronized锁对象的坑

今天本来写点其他东西,碰巧写了一下synchronized,没想到掉坑里面了,大佬别笑。 起初代码大概是这样的: package com.ripplechan.part_1_2_3;import java.util.concurrent.CountDownL...

RippleChan
23分钟前
0
0
XAMPP环境搭建(Apache + MariaDB + PHP + Perl)

operation system:ubuntu-18.04.1 step1:download XAMPP #sudo wget https://www.apachefriends.org/xampp-files/7.2.9/xampp-linux-x64-7.2.9-0-installer.run step2:install XAMPP #sudo ......

硅谷课堂
26分钟前
0
0
关于获取3DS MAX中的蒙皮数据 3DSMAX C++API的应用

目的是为OSG做自定义的导出插件. 记录取得数据的方法. Max在代码中会提供一个INode对象. 从这个对象里取出各种数据. getSkin这个函数取出了ISkin修改器 下面这个函数一样是用于学习, 把数据输...

洛克人杰洛
32分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部