多个域名都解析到一台云服务器,如何区分访问域名?

此问题可以基于WebServer 的ServerName 机制解决,即“虚拟主机”技术来解决这个问题,它可以实现一台服务器运行多个网站,且多个网站共用一个公网IP,访问时不同域名共用一个IP,访问不同的网站,大大节省了开销。举例如下: Linux 项目实战之基于域名的虚拟主机:

前提条件:linux 服务器安装了httpd 服务 #yum -y install httpd* 实验需求:

当用户访问www.aaa.com的时候访问aaa网站

当用户访问www.bbb.com的时候访问bbb网站

当用户访问www.ccc.com的时候访问ccc网站

步骤:

(1) 配置客户端hosts文件(以win7为例)

192.168.1.112 www.aaa.com

192.168.1.112 www.bbb.com

192.168.1.112 www.ccc.com

若客户端为Linux则修改/etc/hosts配置文件.

(2)建立网站存放路径(Linux服务器端)

mkdir -p /data/web/{aaa,bbb,ccc} //分别创建对应网站的存放的目录

vim /data/web/aaa/index.html //创建并编辑测试网页

 <html>  <head>  <title>This is a test Page!!! </title>  <body>  <h1>This www.aaa.com test Page!! </h1>  </body>  </head>  </html>

#vim /data/web/bbb/index.html //创建并编辑测试网页  <html>  <head>  <title>This is a test Page!!! </title>  <body>

&nbsp;&lt;h1>This www.bbb.com test Page!!&nbsp;&lt;/h1>

 </body>  </head>  </html>

#vim /data/web/ccc/index.html //创建并编辑测试网页  <html>  <head>  <title>This is a test Page!!! </title>  <body>

&nbsp;&lt;h1>This www.ccc.com test Page!!&nbsp;&lt;/h1>

 </body>  </head>  </html>

(3)修改Apache的httpd主配置文件/etc/httpd/conf/httpd.conf中的子配置文件目录/etc/httpd/conf.d/

[root@localhost ~]# vim /etc/httpd/conf.d/virt.conf //创建并编辑virt.conf子配置文件

可以拷贝/etc/httpd/conf/httpd.conf 这个模版

NameVirtualHost *:80 //虚拟主机开关——必写

 <VirtualHost *:80>

DocumentRoot /var/www/html

ServerName www.aaa.com //对虚拟主机”www.aaa.com”配置

ErrorLog logs/aaa.com-error_log

CustomLog logs/aaa.com-access_log common

 </VirtualHost>

 <VirtualHost *:80>

DocumentRoot /data/web/bbb

ServerName www.bbb.com//对虚拟主机”www.bbb.com”配置

ErrorLog logs/bbb.com-error_log

CustomLog logs/bbb.com-access_log common

 </VirtualHost>

 <VirtualHost *:80>

DocumentRoot /data/web/ccc

ServerName www.ccc.com//对虚拟主机”www.ccc.com”配置

ErrorLog logs/ccc.com-error_log

CustomLog logs/ccc.com-access_log common

 </VirtualHost>

(4)启动服务

[root@localhost ~]# service httpd restart

*注:应用虚拟主机技术后,默认站点不生效,若想让默认站点生效,需将其添加到/etc/httpd/conf.d/virt.conf中

(5)客户端测试

http://www.aaa.com http://www.bbb.com http://www.ccc.com

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何在Ubuntu 16.04上安装Elasticsearch,Logstash和Kibana(ELK Stack)

在本教程中,我们将介绍在Ubuntu 16.04上安装Elasticsearch ELK Stack(即Elasticsearch 2.3.x,Logstash...

6020
来自专栏dalaoyang

Linux安装Kibana

本文环境是在腾讯云服务器CentOS7.2搭建的,JDK1.8,kibana-5.4.2。

2572
来自专栏Hadoop实操

如何在CM中使用Parcel包部署Livy及验证

在前面的文章《如何打包Livy和Zeppelin的Parcel包》Fayson介绍了使用脚本打包Livy和Zeppelin的Parcel包,本篇文章Fayson...

5034
来自专栏电光石火

apache配置多站点

Apache在安装之后默认只是指向一个站点,即127.0.0.1,如果要进行多站点的配置,需要更改一些配置。 1.让Apache在启动时能加载虚拟主机...

3537
来自专栏程序员与猫

Elasticsearch 在 windows 和 ubuntu 下详细安装过程

1. 前言 作为一名 .NET 平台开发者,选择开发框架时总会面临更多的局限性,不过对于搜索这种刚需服务来说,开源框架可供选择的余地还是比较大的。笔者之前用的是...

4506
来自专栏csxiaoyao

启用mac自带Apache & 虚拟主机配置

42013
来自专栏PHP在线

apache服务器配置

昨天弄了个PHP小程序,想在本地跑一下测试,可是工作电脑没有安装环境,于是下载了一个wamp,一路畅通,Apache、Mysql、PHP就 全有了。启动wamp...

3836
来自专栏云计算教程系列

如何在Ubuntu 14.04上使用Rsyslog,Logstash和Elasticsearch集中日志

了解组织生成的数百万条日志行是一项艰巨的挑战。一方面,这些日志行提供了应用程序性能,服务器性能指标和安全性的视图。另一方面,日志管理和分析可能非常耗时,这可能会...

5592
来自专栏www.96php.cn

Apache多虚拟主机多版本PHP(5.2+5.3+5.4)共存运行配置全过程

    因为某种需求,可能是因为早期的项目需要低版本的php,和目前开发所用的版本不太一致,我们需要给不同的虚拟主机配置不同版本的PHP。避免去额外配置多个A...

56612
来自专栏www.96php.cn

Centos解决Apache配置虚拟主机问题。Apache欢迎页可以打开,但是网站目录定位不上

本文用作工作记录,需要用的朋友可以参考下。 Centos7安装LAMP环境教程http://www.osyunwei.com/archives/7882.htm...

45310

扫码关注云+社区

领取腾讯云代金券