xampp 是一个非常方便的本地 apache + php + mysql 的调试环境,在本地安装测试 WordPress 等各种博客、论坛程序非常方便。今天我们来给大家介绍一下,如何使用 XAMPP 在本地进行安装多个网站。

一般情况下,我们只需要网站程序放到 xampp/htdoc 目录下,然后在浏览器里输入 ip 地址 http://127.0.0.1/ 或者输入域名 http://localhost/ 就可以了。但是这样我们只能使用一个程序,建立一个网站。如果我们想要测试测试不同的程序,比如一个WordPress的网站,一个Discuz!的论坛,再加上一个ShopEx的网店,那就比较麻烦了。我们这篇文章,就给大家介绍一下,如何在 xampp 中添加多站点支持,让你可以很方便地安装多个网站。

比如说,我们想要在本地安装两个测试域名,www.abc.tld, www.xyz.tld, 分别指向到 htdoc 目录下的 abc.tld 和 xyz.tld 文件夹下。tld 是顶级域名 the top domain 的缩写。如果你喜欢,也可以用 abc.com, abc.net 这样的顶级域名来代替。这里使用 tld 主要是为了避免和真实域名冲突。

1. 在 hosts 文件中设置域名解析

和正常的域名一样,这两个域名并不存在,我们也需要进行解析;否则浏览器不知道去哪儿找到服务器。我们来使用本地 hosts 文件来解决这个问题。这个文件用来指定域名和ip地址之间的映射关系。当你要在浏览器中要输入一个网站进行访问的时候,浏览器会向本地网络的dns服务器发出域名解析请求。但是在发出解析请求之前,首先会在hosts文件中查找是否有解析记录;如果有域名的记录,则使用该记录进行访问。因此,这个文件相当于域名解析的高速缓存文件。

Hosts 文件保存在C:\Windows\System32\drivers\etc目录下,无扩展名,使用文本编辑器(NotePad,记事本,emeditor,UltraEdit等)可以打开编辑;如果是 Windows Vista 或者 Windows 7 ,需要首先使用管理权权限打开记事本。

然后,我们在文件最后面添加两行域名解析记录,每行一个域名。前面为ip地址,空间用空格或者制表符隔开,后面是域名:

127.0.0.1 www.abc.tld

127.0.0.1 www.xyz.tld

如下图所示:

然后保存该 hosts 文件。

2. 在 htdocs 目录下添加两个文件夹

我们在 xampp/htdocs 目录下建立两个文件夹,分别命名为 www.abc.tld 和 www.xyz.tld 。这里文件目录的名字设置为域名格式是为了便于区分,并非强制要求;只要目录名和后面的设置一致即可。

我们在 www.abc.tld 目录中添加一个 index.html 文件,内容如下:

<html>
<h1>Welcome to www.ABC.tld</h1>
</html>

在 www.xyz.tld 目录中也添加一个同样的 index.html 文件,将其中 ABC 替换为 XYZ 即可。

说明一下,这个 index.html 文件并不符合 HTML 规范,只是最后用来验证我们的多域名支持成功与否。

3. 在 apache 中添加多域名支持

现在岁最关键的一步,要集中注意力了哦。我们来让 apache 中绑定多个域名,支持多个站点的访问。

使用文件编辑器打开文件:xampp/apache/conf/extra/httpd-vhosts.conf

首先找到 NameVirtualHost *:80 ;去掉前面的注释符号 # 。如果没有这一行,就自己添加一行。

然后添加以下代码:

<VirtualHost *:80>
ServerAdmin postmaster@abc.tld
DocumentRoot "/xampp/htdocs/www.abc.tld"
ServerName www.abc.tld
ErrorLog "logs/www.abc.tld-error.log"
CustomLog "logs/www.abc.tld-access.log" combined
</VirtualHost> <VirtualHost *:80>
ServerAdmin postmaster@xyz.tld
DocumentRoot "/xampp/htdocs/www.xyz.tld"
ServerName www.xyz.tld
ErrorLog "logs/www.xyz.tld-error.log"
CustomLog "logs/www.xyz.tld-access.log" combined
</VirtualHost>

添加之后,保存该文件。httpd-vhosts.conf 中代码如下图:

4. 重启 Apache 并验证多域名

摄制完成之后,重新启动 apache 服务,重新打开浏览器。并在浏览器中分别输入 http://www.abc.tld 和 http://www.xyz.tld ,可以分别看到以下结果:

设置之后,在浏览器里分别输入 http://www.abc.tld 和 http://www.xyz.tld ,就会显示不同的内容。如果你看到内容和上图一样,那说明你的 xampp 支持多域名已经设置成功了。否则,请从头检查,看看什么地方设置出错了 。

如何通过XAMPP来实现单个服务器上建多个网站的更多相关文章

  1. 网站环境apache + php + mysql 的XAMPP,如何实现一个服务器上配置多个网站?

    xampp 是一个非常方便的本地 apache + php + mysql 的调试环境,在本地安装测试 WordPress 等各种博客.论坛程序非常方便.今天我们来给大家介绍一下,如何使用 XAMPP ...

  2. IIS 7 Web服务器上部署ASP.NET网站(转)

    IIS 7 Web服务器上部署ASP.NET网站小记 摘自:http://swanmsg.blog.sohu.com/162111073.html 网上查找了很久关于iis7配置asp.net配置问题 ...

  3. 在一台服务器上搭建多个网站的方法(Apache版)

    Apache的配置文件一般放置在/etc/httpd/conf文件夹下,httpd.conf是它的主配置文件,在进行配置时可以将虚拟主机的配置文件单独配置,如取名为vhost.conf,然后再http ...

  4. windows server服务器上部署java+tomcat网站域名配置

    如果只是部署java项目的话,可以把IIS删除,然后在服务器上安装jdk tomcat 配置好环境变量,就和你在自己计算机上开发一样,把你的项目war包拷到tomcat下的webapps里(任意目录都 ...

  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. 服务器上nginx反向代理的配置

    Nginx不但是一款高性能的Web服务器,也是高性能的反向代理服务器.下面简单说说Nginx的反向代理功能. 反向代理是什么? 反向代理指以代理服务器来接受Internet上的连接请求,然后将请求转发 ...

  8. (总结)Linux服务器上最简单的Nginx反向代理配置

    Nginx不但是一款高性能的Web服务器,也是高性能的反向代理服务器.下面简单说说Nginx的反向代理功能. 反向代理是什么? 反向代理指以代理服务器来接受Internet上的连接请求,然后将请求转发 ...

  9. 在阿里云服务器上搭建xampp遇到的问题

    参考文章:http://blog.csdn.net/hel12he/article/details/49781813 http://www.laozuo.org/8178.html http://bl ...

随机推荐

  1. 利用Django中的url方法实现地址动态拼接自动生成超链接地址

    目标 建立一个图书列表页面,显示图书名列表,并实现点击书名跳转到图书详细页面,显示图书详细信息. URL方法简介 功能:返回一个绝对路径的引用(不包含域名的URL):该引用匹配一个给定的视图函数和 一 ...

  2. 图解TCP/IP笔记-网络基础知识

    1.计算机网络发展的7个阶段1)批处理服务器一次只能处理一批程序指令2)分时服务器可以分时为多台客户端服务3)计算机之间通信计算机之间由通信线路连接,互相通信4)计算机网络的产生通过分组交换技术,在不 ...

  3. 使用konva来绘制一个矩形

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. ADO.NET 连接方式进行数据库访问

    转自:http://www.cnblogs.com/oneword/archive/2010/09/10/1823414.html 连接到数据源 连接到数据源需要使用两步: 1.创建连接字符串 2.使 ...

  5. stock article

    stock 征服星辰大海 http://www.tianya.cn/95789158 论坛_悟道股市_天涯社区 http://www.tianya.cn/108318593/bbs?t=post 当下 ...

  6. Python以不可见字符作为列分割符

    # -*- coding: utf-8 -*- import sys import time CTRL_A='\x01' CTRL_B='\x02' thedate = '' thetime = '' ...

  7. Python3 Scrapy 安装方法

    Python3 Scrapy 安装方法 (一脸辛酸泪) 写在前面 最近在学习爬虫,在熟悉了Python语言和BeautifulSoup4后打算下个爬虫框架试试. 没想到啊,这坑太深了... 看了看相关 ...

  8. 【WPF】XAML引入资源和在C#代码中动态添加样式

    转载自: http://blog.csdn.net/honantic/article/details/48781543 XAML引入资源参考这里: http://blog.csdn.net/qq_18 ...

  9. mysql合并查询结果及为表和字段取别名

    利用union关键字,可以给出多条select语句,并将它们的结果组合成单个的结果. 合并是,两个表对应的列数和数据类型必须相同. 各个select语句之间使用union或union all关键字分隔 ...

  10. stm8s + si4463 寄存器配置

    /***********************************************函 数: main功 能: 程序入口输 入: /输 出: /描 述: /**************** ...