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. Atitit.编程语言的基础句型and汉语英文比较

    Atitit.编程语言的基础句型and汉语英文比较 1. 编程语言常见的句型1 1.1. Verb(obj)1 1.2. If  then else1 1.3. For1 2. 英语中的五种基本句型结 ...

  2. android-studio于java相关

      1.安装和配置 在安装完成android-studio后,启动,配置project structure.包括SDK.JDK等,此开发工具需要自行下好,软件无自带. 配置完成后,通过:File--& ...

  3. 43. Spring Boot动态数据源(多数据源自动切换)【从零开始学Spring Boot】

    [视频&交流平台] àSpringBoot视频 http://study.163.com/course/introduction.htm?courseId=1004329008&utm ...

  4. linux. -bash: fork: retry: Resource temporarily unavailable错误

    切换用户或登陆服务器后执行ls命令报错: -bash: fork: retry: Resource temporarily unavailable 上面这段错误提示的本质是Linux操作系统无法创建更 ...

  5. sql server 数据库基础知识(二)

    CASE函数用法1:单值判断,相当于switch caseCASE expression WHEN value1 THEN returnvalue1 WHEN value2 THEN returnva ...

  6. nc在centos7上的安装和简单使用

    下载 http://vault.centos.org/6.6/os/x86_64/Packages/nc-1.84-22.el6.x86_64.rpm     rpm -iUv nc-1.84-22. ...

  7. JavaScript 代码块

    JavaScript 语句通过代码块的形式进行组合. 块由左花括号开始,由右花括号结束. 块的作用是使语句序列一起执行. JavaScript 函数是将语句组合在块中的典型例子. 下面的例子将运行可操 ...

  8. (转载)Unity3D研究院之使用 C#合成解析XML与JSON(四十一)

    XML与JSON在开发中非常重要, 其实核心就是处理字符串.一个是XML的字符串一个是JSON的字符串,尤其是在处理网络请求的时候,肯定是要用的.另外现在JSON非常的流行,我写了一个简单的例子融合了 ...

  9. OpenCV学习笔记:opencv_ml模块

    一,简介 该模块为opencv的机器学习(machine learning,ml)代码库,包含各种机器学习算法: 0, class CvStatModel ; class CvMLData; stru ...

  10. poj1026(置换找循环节)

    找到循环节,然后对应的变换 Cipher Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 20377   Accepted:  ...