虚拟主机 (Virtual Host)

虚拟主机 (Virtual Host) 是在同一台机器搭建属于不同域名或者基于不同 IP 的多个网站服务的技术. 可以为运行在同一物理机器上的各个网站指配不同的 IP 和端口, 也可让多个网站拥有不同的域名.

Apache 是世界上使用最广的 Web 服务器, 从 1.1 版开始支持虚拟主机. 本文将讲解在不同服务器 (Redhat Enterprise Linux, Ubuntu Linux, Windows) 上使用 Apache 搭建虚拟主机来搭建多个网站.

Redhat Enterprise Linux

Redhat Enterprise Linux (包括 CentOS Linux), 是使用最广的 Linux 服务器, 大量的网站应用都部署在其上.

1. 打开文件 /etc/httpd/conf/httpd.conf, 搜索 VirtualHost example, 找到代码如下:

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
#<VirtualHost *:80>
#    ServerAdmin [email protected]
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>

2. 仿照例子, 添加一段代码来指定某一域名的网站.

#
# DocumentRoot 是网站文件存放的根目录
# ServerName 是网站域名, 需要跟 DNS 指向的域名一致
#
<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/httpdocs/demo_neoease_com
    ServerName demo.neoease.com
    ErrorLog logs/demo.neoease.com-error.log
    CustomLog logs/demo.neoease.com-access.log common
</VirtualHost>
3. 重启 httpd 服务, 执行以下语句.
service httpd restart 

Ubuntu Linux
 Ubuntu 在 Linux 各发行版中, 个人用户数量最多的. 很多人在本机和虚拟机中使用. 但 Ubuntu 和 Redhat 的 VirtualHost 设置方法不相同.
 1. 打开目录 /etc/apache2/sites-available/, 发现 default 和 default-ssl 两个文件, 其中 default 是 http 虚拟主机服务的配置文件, default-ssl 是配置 https 服务使用的. 可以复制一份 default 文件. 并修改配置文件名, 文件名必须与域名一致 (如: demo.neoease.com)
 2. 打开新建的配置文件, 修改 DocumentRoot, ServerName 和对应的配置目录. 例子如下:
#
# DocumentRoot 是网站文件存放的根目录
# ServerName 是网站域名, 需要跟 DNS 指向的域名一致
#
<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/httpdocs/demo_neoease_com
    ServerName demo.neoease.com
    ErrorLog ${APACHE_LOG_DIR}/demo.neoease.com-error.log
    CustomLog ${APACHE_LOG_DIR}/demo.neoease.com-access.log combined
</VirtualHost>
3. 通过 a2ensite 激活虚拟主机配置
sudo a2ensite demo.neoease.com
4. 打开目录 /etc/apache2/sites-enabled/, 你会发现所有激活的虚拟主机, 可以通过 a2dissite 进行注销
sudo a2dissite demo.neoease.com
5. 重启 Apache 服务, 激活虚拟主机
sudo /etc/init.d/apache2 restart 

Windows
 Windows 是市场占有率最高的 PC 操作系统, 也是很多人的开发环境. 其 VirtualHost 配置方法与 Linux 上有些差异, 以下方式适合原生 Apache, XAMPP 和 WAMP 套件.
 1. 打开目录 {Apache2 安装目录}\conf\extra\, 找到 httpd-vhosts.conf 文件.
2. 仿照例子, 添加一段代码来指定某一域名的网站.
#
# DocumentRoot 是网站文件存放的根目录
# ServerName 是网站域名, 需要跟 DNS 指向的域名一致
#
<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "D:/workspace/php/demo_neoease_com"
    ServerName demo.neoease.com
    ErrorLog "logs/demo.neoease.com-error.log"
    CustomLog "logs/demo.neoease.com-access.log" common
</VirtualHost>
3. 打开 httpd.conf 文件, 添加如下语句.
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
4. 重启 Apache 服务.
Mac OS
 近年苹果的雄起, 让 Mac 日催普及, 也成为很多开发人员的选择. 因为与 Linux 同源, 配置方法也相似.
1. 打开文件 /private/etc/apache2/extra/httpd-vhosts.conf.
2. 仿照例子, 添加一段代码来指定某一域名的网站.
#
# DocumentRoot 是网站文件存放的根目录
# ServerName 是网站域名, 需要跟 DNS 指向的域名一致
#
<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/usr/docs/httpdocs/demo_neoease_com"
    ServerName demo.neoease.com
    ErrorLog "/private/var/log/apache2/demo.neoease.com-error_log"
    CustomLog "/private/var/log/apache2/demo.neoease.com-access_log" common
</VirtualHost> 

3. 打开文件 /private/etc/apache2/httpd.conf, 搜索 Virtual hosts, 找到代码如下: 

# Virtual hosts
#Include /private/etc/apache2/extra/httpd-vhosts.conf 

去掉前面的注释符号 #, 保存文件.
4. 重启 apache 服务, 执行以下语句.
sudo apachectl restart 

wamp5下的虚拟主机的配置

今天配置了一下虚拟目录,以下是我的配置方法。

 1  编辑httpd.conf,查找Include conf/extra/httpd-vhosts.conf,把前面注释符号“#”删掉。
 2  编辑httpd-vhosts.conf,我把WAMPServer安装在D:/wamp,所以我这里的路径是D:\wamp\Apache2\conf\extra。  

把里面的内容清空掉或者注释,换成下面的内容:

NameVirtualHost *:80

这个是新增的努力目录
<VirtualHost *:80>
ServerName www.cms.com
ServerAlias www.cms.com
DocumentRoot "F://workplace"
</VirtualHost>

原来默认的目录
<VirtualHost *:80>
    ServerName localhost
    ServerAlias localhost
    DocumentRoot "D:/wamp/www"
</VirtualHost>

3 编辑httpd.conf,找到DocumentRoot "d:/wamp/www/"这项,这是默认根目录路径,但是要更改的不是这个,一直往下找,找到<Directory "d:/wamp/www">,然后在该</Directoory>后加上如下内容:

  <Directory "F://workplace">

    Options Indexes FollowSymLinks

     AllowOverride all
    Order Allow,Deny
    Allow from all
    </Directory>

    <Directory "D:/wamp/www">
    Options Indexes FollowSymLinks
     AllowOverride all
    Order Allow,Deny
    Allow from all
    </Directory>
--------------------------example-----------------------

<VirtualHost *:80>
    DocumentRoot D:/ds/www
   ServerName www.ds.com
<Directory "D:/ds/www">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
</VirtualHost>

4  修改C:/WINDOWS/system32/drivers/etc/host这个文件,用记事本打开,加上如下内容:
   127.0.0.1  www.cms.com

好了,然后重启apache,在浏览器里面输入www.cms.com,看看访问到的内容是不是workplace这个目录呢。
时间: 2024-10-11 01:45:30

虚拟主机 (Virtual Host)的相关文章

Tomcat 虚拟主机配置

一.什么是虚拟主机 一台物理机上搭建多个web站点,每个web站点独立运行,互不干扰,这些站点就是"虚拟主机". 虚拟主机的实现方式: 1.基于主机名的虚拟主机:多个域名解析到同一个IP地址,在WEB服务器里添加多个站点,每个站点设定一个主机名.HTTP协议请求里包含了主机名信息,当WEB服务器收到访问请求时,就可以根据不同的主机名来访问不同的网站. 步骤: a.配置域名与Ip的映射管理(对于本地局域网我们使用在host文件中添加:对于大型网络或者外网网络则需要配置DNS服务器中Ip地

Apache 虚拟主机 VirtualHost 配置

虚拟主机 (Virtual Host) 是在同一台机器搭建属于不同域名或者基于不同 IP 的多个网站服务的技术. 可以为运行在同一物理机器上的各个网站指配不同的 IP 和端口, 也可让多个网站拥有不同的域名. Apache 是世界上使用最广的 Web 服务器, 从 1.1 版开始支持虚拟主机. 本文将讲解在不同服务器 (Redhat Enterprise Linux, Ubuntu Linux, Windows) 上使用 Apache 搭建虚拟主机来搭建多个网站. Redhat Enterpri

Apache 创建虚拟主机目录和设置默认访问页面

虚拟主机 (Virtual Host) 是在同一台机器搭建属于不同域名或者基于不同 IP 的多个网站服务的技术. 可以为运行在同一物理机器上的各个网站指配不同的 IP 和端口, 也可让多个网站拥有不同的域名. Apache 是世界上使用最广的 Web 服务器, 从 1.1 版开始支持虚拟主机. 下面说明在Windows上使用 Apache 搭建虚拟主机来搭建多个网站. 1.打开apache的httpd.conf文件,找到# Virtual hosts#Include conf/extra/htt

tomcat配置虚拟主机

在眼下,非常多server都是一台server对外能够訪问非常多个javaEE的项目,这样的实现方式就须要在tomcat里面配置虚拟主机了!以下就说说怎样配置虚拟主机: 找到tomcat的安装文件夹,到TOMCAT_HOME/apache-tomcat7/conf文件夹下,找到server.xml这个文件,打开该文件,在该文件里找到关于Engine这个子节点 <Engine name="Catalina" defaultHost="localhost">

apache 虚拟主机和 rewrite 配置及 rewrite规则解释

如何使用rewrite步骤: 1.     配置apache,启用rewrite机制,修改httpd.conf 在httpd.conf中启用rewrite LoadModule rewrite_module modules/mod_rewrite.so      #如果没有这一行则在配置文件中添加这一行 2.     配置虚拟主机 修改 hosts文件添加你的 ip 和域名对应,如下事例 127.0.0.1       www.yaf.com 在 http.conf 文件中启用虚拟主机 # Vi

16.4 配置Tomcat监听80端口;16.5、16.6、16.7配置Tomcat的虚拟主机(上中下);16.8 Tomcat日志

扩展: 邱李的tomcat文档 https://www.linuser.com/forum.php?mod=forumdisplay&fid=37 JAR.WAR包区别 http://blog.csdn.net/lishehe/article/details/41607725 tomcat常见配置汇总 http://blog.sina.com.cn/s/blog_4ab26bdd0100gwpk.html resin安装 http://fangniuwa.blog.51cto.com/10209

16.4 配置Tomcat监听80端口 16.5/16.6/16.7 配置Tomcat虚拟主机 16.8 Tomcat日志

16.4 配置Tomcat监听80端口 16.5/16.6/16.7 配置Tomcat虚拟主机 16.8 Tomcat日志 扩展 邱李的tomcat文档 https://www.linuser.com/forum.php?mod=forumdisplay&fid=37 JAR.WAR包区别 http://blog.csdn.net/lishehe/article/details/41607725 tomcat常见配置汇总 http://blog.sina.com.cn/s/blog_4ab26b

Tomcat监听80端口、配置Tomcat虚拟主机、Tomcat日志

配置Tomcat监听80端口 1.配置Tomcat服务的访问端口 Tomcat默认启动的端口是8080,如果你想修改为80,则需要修改server.xml文件. [[email protected] src]# vim /usr/local/tomcat/conf/server.xml 按如下需求更改: 找到Connector port="8080" protocol="HTTP/1.1"修改为Connector port="80" protoc

Tomcat(tomcat虚拟主机,Tomcat日志,单机多实例配置实战,JVM设置和连接数设置)

一.配置Tomcat的虚拟主机 一.Tomcat虚拟主机基本配置. 在介绍nginx和apache的时候,我们都有提过虚拟主机,在tomcat中也有这么一说, [[email protected] ~]# vim /usr/local/tomcat/conf/server.xml 搜索/Host,其中<Host>和</Host>之间的配置为虚拟主机配置部分,name定义域名,appBase定义应用的目录,Java的应用通常是一个Jar的压缩包,将jar的压缩包放到appBase目录