当前位置: 首页 > news >正文

Apaceh 多虚拟主机多站点配置两种方案

为什么80%的码农都做不了架构师?>>>   hot3.png

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

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

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

一、准备工作

1、修改系统 hosts文件

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

 

[plain] view plain copy

  1. 127.0.0.1 www.syp.com  
  2. 127.0.0.1 www.songyp.com  

这两行代码的意思是将www.syp.com和www.songyp.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

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.syp.com:8080显示"我来自地球,我是第一个勇士",输入:http://www.songyp.com:8090显示"我来自火星,我是第二个火娃"。

方案二、

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

在http 文件夹内 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.syp.com:8080显示"我来自地球,我是第一个勇士",输入:http://www.songyp.com:8080显示"我来自火星,我是第二个火娃"。

 

同理:将index.html  文档替换为相对应的项目 依旧没问题  本人亲测无误!!!

转载于:https://my.oschina.net/songyp/blog/778406

相关文章:

  • ubutnu安装geany
  • vue3生命周期钩子函数
  • 每天一个linux命令(11):nl命令
  • ABP文档 - 本地化
  • react-native 安卓真机环境搭建
  • vue3 自定义hook函数 和 toRef
  • git add . 的时候遇到warning: LF will be replaced by CRLF in ...... 解决办法
  • vue3 祖孙组件通讯传值 provide 与 inject 以及 响应式数据的判断
  • Unity3D 学习——入门资料整理
  • vue3父子组件传值 以及注意事项
  • “通过jumpserver远程登录linux服务器,rz上传文件速度过慢”问题的解决
  • vue项目 初始化 解决页面闪屏问题 v-cloak
  • Excle中LOOKUP经典用法
  • vue3实现 TodoList 运用到的点 组件传值props, ref, onMounted, reactive, toRefs, watch
  • 前端——运用@media实现网页自适应中的几个关键分辨率
  • 【5+】跨webview多页面 触发事件(二)
  • 11111111
  • Docker: 容器互访的三种方式
  • Javascript Math对象和Date对象常用方法详解
  • JavaScript-Array类型
  • jquery cookie
  • JS学习笔记——闭包
  • leetcode46 Permutation 排列组合
  • SpiderData 2019年2月25日 DApp数据排行榜
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • 和 || 运算
  • 前端存储 - localStorage
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 山寨一个 Promise
  • 实现简单的正则表达式引擎
  • 数组大概知多少
  • 详解NodeJs流之一
  • 学习笔记TF060:图像语音结合,看图说话
  • const的用法,特别是用在函数前面与后面的区别
  • ​什么是bug?bug的源头在哪里?
  • #define与typedef区别
  • (4)(4.6) Triducer
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (简单) HDU 2612 Find a way,BFS。
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (一)WLAN定义和基本架构转
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • *p++,*(p++),*++p,(*p)++区别?
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .Net Winform开发笔记(一)
  • .NET分布式缓存Memcached从入门到实战
  • .net网站发布-允许更新此预编译站点
  • .Net下C#针对Excel开发控件汇总(ClosedXML,EPPlus,NPOI)
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复