Apache的配置文件一般放置在/etc/httpd/conf文件夹下,httpd.conf是它的主配置文件,在进行配置时可以将虚拟主机的配置文件单独配置,如取名为vhost.conf,然后再http.conf中加入一行包含的语句“Include /etc/httpd/conf/vhost.conf”即可将vhost.conf的配置文件包含进来。

目前在一台服务器上搭建多个网站的方法主要由以下几种:
1、 基于IP地址
这种方法适用于一台服务器有多个IP的情况,但目前阿里云的ECS只允许绑定一个公网IP和一个私网IP,故此方法不适用
2、 基于端口号
这种方法使用不同的端口号来识别不同的网站,实际访问时使用网址加端口号的方式来实现,如http://port.huigher.cn:80,http://port.huigher.cn:81,http://port.huigher.cn:82,该方式配置后需要在网站后加上端口号来访问不同的网站,适用于网站域名短缺但服务器的端口号充足的情况,缺点是网站后需要加上端口号,不利于用户访问
3、 基于主机名
这种方法使用不同的域名来区分不同的网站,所有的域名解析都指向同一个IP,Apache通过在HTTP头中附带的host参数来判断用户需要访问哪一个网站,如http://test1.huigher.cn,http://test2.huigher.cn,http://test3.huigher.cn,多数情况下多个网站架在一台服务器上均使用该方法,下面以CentOS6.5系统为例,说明如何配置基于主机名的Apache虚拟主机。

一、 在Apache的配置文件夹下新建vhost.conf,作为虚拟主机的配置文件,在其中编写虚拟主机的内容,先加入默认的文件头:

NameVirtualHost *:80

ServerName *
    # DocumentRoot为默认情况下网站的目录
    DocumentRoot /www/html

二、 之后再根据实际情况添加以下的配置:

#在任意的地址上监听80端口上的HTTP请求

#网站管理员的联系方式
    ServerAdmin

test@huigher.cn
    #网站的目录
    DocumentRoot /var/www/html/test3
    #主机名,apache就是通过这个地址来识别不同的网站
    ServerName test3.huigher.cn
     #错误日志路径
    ErrorLog logs/test3.huigher.cn-error_log
    #访问日志路径
    CustomLog logs/test3.huigher.cn-access_log common

四、 服务器上有多少个网站,那么就分别配置多少份以上信息,并根据实际情况修改其中的内容,测试时服务器上的页面配置情况如下:

五、 在http.conf文件中加入一行“Include /etc/httpd/conf/vhost.conf”,将vhost.conf文件内容包含进来

六、在/etc/hosts文件中将网站的域名绑定到本地环回地址上:

127.0.0.1 test1.huigher.cn

127.0.0.1 test2.huigher.cn

127.0.0.1 test3.huigher.cn

七、 最后使用service httpd reload重新加载配置文件或service httpd restart重启Apache进程即可

八、 测试不同的域名返回了不同的网站内容

在一台服务器上搭建多个网站的方法(Apache版)的更多相关文章

  1. 在一台服务器上配置多个Tomcat的方法

    原文来自:http://blog.csdn.net/lmb55/article/details/49561669 这段时间在开发智能导航的热部署功能,需要从一台服务器去访问其它的24台服务器去进行相关 ...

  2. 在一台服务器上搭建多个项目的SVN

    需求:一台机子,多个项目,项目之间用户独立不可以相互访问文件 思路:在机子上设置多个代码仓库,用不同的端口号加一区分 实现: 首先安装SVN,我这里使用的是TortoiseSVN 首先创建多个SVN代 ...

  3. 在一台服务器上搭建相对高可用HiveServer实践

    本文来自网易云社区 作者:刘杰 问题及原因 组里之前搭建了一个hiveserver提供给猛犸上的ETL程序调用,hiveserver隔三差五地挂掉重启,网上查了些资料,也咨询了猛犸那边维护hivese ...

  4. 【MySQL】一台服务器上搭建两个mysql节点

    环境: CentOS 6.8  memory:1G Mysql 5.7 二进制安装包 1.安装相关的环境包 yum -y install gcc glibc libaio libstdc++ libs ...

  5. 如何在阿里云服务器上搭建wordpress个人网站

    1.购买云服务器.域名.域名解析.配置linux系统上的web环境.FTP等参照下面的链接. https://www.cnblogs.com/smyhvae/p/4965163.html?tdsour ...

  6. Apache实现一台服务器上运行多个网站

    总共有三种方法:通过不同的IP地址 通过不同的域名 通过不同的端口号 (1).通过不同的IP地址实现 例如一台CentOS7有两个IP:192.168.5.101和192.168.5.103 [roo ...

  7. 一台服务器上部署多个Terracotta的方法

    在window server 2003 下,利用apache2.2.11+tomcat6+terracotta 群集不能复制session(http://forums.terracotta.org/f ...

  8. Microsoft Dynamics CRM 2011 面向Internet部署 (IFD) ADFS虚拟机环境搭建的步骤(CRM与ADFS装在同一台服务器上) 摘自网络

    1: 安装windows server 2008 R2 中文版 (过程略) 安装完成后设置机器名和IP地址, 本过程机器名 crm5dev,192.168.0.110 dns: 192.168.0.1 ...

  9. 用Docker在一台笔记本电脑上搭建一个具有10个节点7种角色的Hadoop集群(上)-快速上手Docker

    如果想在一台电脑上搭建一个多节点的Hadoop集群,传统的方式是使用多个虚拟机.但这种方式占用的资源比较多,一台笔记本能同时运行的虚拟机的数量是很有限的.这个时候我们可以使用Docker.Docker ...

随机推荐

  1. 【web开发学习笔记】Structs2 Result学习笔记(一)简介

    Structs2 Result学习笔记(一)简介 问题一 <struts> <constant name="struts.devMode" value=" ...

  2. [原创]Linux实现服务延迟启动

    在开机启动服务的时候,服务之间有依赖关系,必须在某个服务完全启动后才能启动其他的服务.在这种情况下,就需要用到服务延迟启动的功能.在开机时,延迟几分钟再启动.具体步骤如下:1.写一个实现延时启动的脚本 ...

  3. delphi中检测局域网ip能够ping通模块

    // 函数PingHost用于ping目标IP是否连通 // uses winsock    在uses中加入  winsock // 用法:  if PingHost(edit2.Text) the ...

  4. Android 升级ADT到22第三方Jar包导致的ClassNotFoundException和NoClassDefFoundError异常解决

    在使用异步载入框架Android-Universal-Image-Loader的Jar包的时候遇到错误: java.lang.NoClassDefFoundError:com.nostra13.uni ...

  5. C语言基础(18)-内存

    一.内存布局 1.1 代码区 代码区code,程序被操作系统加载到内存的时候,所有的可执行代码都加载到代码区,也叫代码段.代码区是可读不可写的. 代码区中的所有的内容在程序加载到内存的时候就确定了,运 ...

  6. awk 数组

    Arrays        Arrays are subscripted with an expression between square brackets ([ and ]).   If the ...

  7. [转]MVC设计模式

    MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller). MVC模式最 ...

  8. tcp3握手,作用,syn攻击

    tcp建立链接3次握手: 1.客户端→服务端,发送seq=x,syn=1 2.服务端→客户端,发送seq=y,syn=1,ack=x+1 3.客户端→服务端,发送seq=z,ack=y+1 三次握手作 ...

  9. java 证书 .cer 和 .pfx

    作为文件形式存在的证书一般有这几种格式: 1.带有私钥的证书 由Public Key Cryptography Standards #12,PKCS#12标准定义,包含了公钥和私钥的二进制格式的证书形 ...

  10. Unity3D学习笔记——NGUI之UITable

    UITable:这个控件可以方便的排列其他小组件,并能控制小组件之间的距离. 效果如下: 这个控件的效果和UIGrid很相似,区别是UIGrid能控制每个小组件的大小,而这个 控件控制的是小组件之前的 ...