我们在配置一台服务器的时候,如果只运行一个站点,往往过于浪费资源。Nginx和Apache都可以通过配置虚拟主机实现多站点。配置虚拟主机的方式主要有两种,一种是多个不同端口对应的多个虚拟主机站点,一种是同一端口对应多个不同域名的虚拟主机站点。这里我用80端口为例,在apache配置多个不同域名虚拟主机。

试验环境:windows+apache (linux+apache同理)

1、  虚拟机需要用到Rewrite,所以先编辑Apache的conf目录下的httpd.conf文件

掉Rewrite模块列行中前面的#号(删除注释)。添加mod_rewrite.so模块支持。

LoadModule rewrite_module modules/mod_rewrite.so

同时,还要让主配置文件包含虚拟机配置文件:

找到 #Include conf/extra/httpd-vhosts.conf 这一行去掉前面的 # 。

2、  然后编辑 /conf/extra/httpd-vhosts.conf 文件:

(1)如果里面有默认的设置,删除里面默认设置的虚拟主机,我这里是以下这段代码:

<VirtualHost _default_:80>

DocumentRoot "/Apache24/htdocs"

#ServerName www.example.com:80

</VirtualHost>

(2)修改NameVirtualHost参数,要在本机的所有IP的80端口上面做多域名:NameVirtualHost *:80

(3)添加虚拟主机一:

< VirtualHost *:80>
    #管理员邮箱
    ServerAdmin xxx@163.com 
    #虚拟主机根目录   
    DocumentRoot "E:/www/slg/"       
    #虚拟主机名  
    ServerName www.slg.com   
    #虚拟主机别名                      
    ServerAlias slg.com
    #日志路径
    ErrorLog "logs/slg-error.log"
    CustomLog "logs/slg-access.log" common
    RewriteEngine on
< /VirtualHost>

(4)添加虚拟主机二:

< VirtualHost *:80>
    #管理员邮箱
    ServerAdmin xxx@163.com 
    #虚拟主机根目录   
    DocumentRoot "E:/www/sanguo/"       
    #虚拟主机名  
    ServerName www.sanguo.com   
    #虚拟主机别名                      
    ServerAlias sanguo.com
    #日志路径
    ErrorLog "logs/sanguo-error.log"
    CustomLog "logs/sanguo-access.log" common
    RewriteEngine on
< /VirtualHost>

(5)保存退出

3、修改本地hosts文件:

在windows中,进入C:/Windows/System32/drivers/etc (在linux环境中应该是在/etc/hosts)

打开host文件,在最后面添加下面两行:

127.0.0.1       www.slg.com

127.0.0.1       www.sanguo.com

保存退出

4、重启服务器。

在你两个虚拟机的根目录下新建一些测试文件,比如在”E/www/slg/”目录新建个test.html,在目录"E:/www/sanguo/"页新建个test.html,写上对应的测试代码,在浏览器里输入www.slg.com/test.htmlwww.sanguo.com/test.html查看结果。

Apache服务器在80端口配置多域名虚拟主机的方法的更多相关文章

  1. Tomcat 80端口 配置及域名访问步骤

    一.修改端口tomcat默认监听端口是8080,我们如果想不带端口的直接访问项目,就必须监听80 端口: service.xml 以下代码段 <Connector port="8080 ...

  2. Nginx实现多个站点使用一个端口(配置Nginx的虚拟主机)

    Nginx 是一个轻量级高性能的 Web 服务器, 并发处理能力强, 消耗资源小, 无论是静态服务器还是网站, Nginx 表现更加出色, 作为 Apache 的补充和替代使用率越来越高,目前很多大型 ...

  3. Apache服务器的安装与配置

    文档:http://httpd.apache.org/docs/2.4/ 指令:http://httpd.apache.org/docs/2.4/mod/core.html 一.配置文件 语法 * 主 ...

  4. centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 访问控制 apache rewrite 配置开机启动apache tcpdump 第二十节课

    centos    LAMP第二部分apache配置  下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转  配置apache的访问日志  配置静态文件缓存  配置防盗链 ...

  5. nginx把两个不同的网站挂到同一台服务器的80端口上

    本文主要分享如果利用nginx把两个不同的网站挂到同一台服务器的80端口上 最终效果 例如:www.manyjar.com (web服务器是8080端口)和ishenghuo.manyjar.com ...

  6. 没有80端口的备案域名,如何做微信公众平台的开发?本文介绍可以通过任何域名来做开发,www.baidu.com和www.163.com和www.so.com这样的域名都可以

    1.首先做过微信开发的朋友都知道,微信后台需要绑定80端口的备案域名,如果此时手上没有80端口的备案域名就不能进行开发了吗?当然不是 首先在这些地方绑定一个备案域名,国内公司的网址基本上是有备案的如w ...

  7. 【转载】Nginx多服务绑定80端口及映射域名

    多服务绑定80端口及映射域名 说明:业务需要配置的样例模板,如需深入了解,请查看官方文档 1.Nginx配置文件nginx.conf(可拆分多台机器部署) worker_processes  1; e ...

  8. Nginx-多服务绑定80端口及映射域名

    多服务绑定80端口及映射域名 说明:业务需要配置的样例模板,如需深入了解,请查看官方文档 1.Nginx配置文件nginx.conf(可拆分多台机器部署) worker_processes  1; e ...

  9. Nginx配置基于多域名、端口、IP的虚拟主机

    原文:https://www.cnblogs.com/ssgeek/p/9220922.html ------------------------------- Nginx配置基于多域名.端口.IP的 ...

随机推荐

  1. 裸奔单片机GUI

    #include "main.h"#ifndef __STD_GUI_CONTEX__#define __STD_GUI_CONTEX__ #define CPSTRSIZE 20 ...

  2. es6要用严格模式

    实验let的块级作用域,在sublime的Tools--Babel--Babel Transform检测未出现错误,在html中也未出现错误,唯在控制台中一直报错. //js名为es6.js ---* ...

  3. hdu 2222 Keywords Search

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=2222 思路:裸AC自动机,直接贴代码做模板 #include<stdio.h> #includ ...

  4. JS基础学习(一)

    首先感谢 http://www.w3school.com.cn/js/index.asp 学js真的很方便,&下面的内容其实是我自己做的一个备忘 第一节 大致了解 一 js基本介绍 1.轻量级 ...

  5. CNN初步-2

    Pooling 为了解决convolved之后输出维度太大的问题 在convolved的特征基础上采用的不是相交的区域处理     http://www.wildml.com/2015/11/unde ...

  6. DBNEWNAME工具介绍

    下面修改数据库的SID和db_name [root@oracle ~]# su - ora11g db11@oracle /home/ora11g$ db11@oracle  /home/ora11g ...

  7. Eclipse中使用Maven创建web项目

    一.创建一个Maven项目 1.Eclipse中用Maven创建项目 上图中点击next 2.继续next 3.选maven-archetype-webapp后,next 4.填写相应的信息,Pack ...

  8. html传值 location.search取

    $(function() { var url = decodeURI(location.search); if (url.indexOf("?") != -1) { var str ...

  9. ios 获取手机的IP地址

    - (NSString *)getIPAddress:(BOOL)preferIPv4{ NSArray *searchArray = preferIPv4 ? @[ IOS_VPN @"/ ...

  10. Go语言 获取get、post参数

    在贴代码之前如果能先理解一下golang http.request的三个属性Form.PostForm.MultipartForm应该能较好的理解代码,下面摘录一下. 以上简要翻译一下: Form:存 ...