Apache 配置虚拟主机

  • 时间:
  • 浏览:0
  • 来源:大发pk10_pk10人工计划_大发pk10人工计划
作者:匿名 hihi 来源:用户投稿 浏览: 2011-5-17 9:42:20 字号:大 中 小

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

  虚拟主机(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 *:50>

# ServerAdmin webmaster@dummy-host.example.com

# 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 *:50>

ServerAdmin zhao.wuz@alibaba-inc.com

DocumentRoot /var/www/httpdocs/demo_aliluna_com

ServerName demo.aliluna.com

ErrorLog logs/demo.aliluna.com-error.log

CustomLog logs/demo.aliluna.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 服务使用的。还还要qq克隆好友 一份 default 文件。并修改配置文件名,文件名还要与域名一致 (如: demo.aliluna.com)

2、打开新建的配置文件,修改 DocumentRoot,ServerName 和对应的配置目录。例子如下:

#  

# DocumentRoot 是网站文件存放的根目录

# ServerName 是网站域名,还要跟 DNS 指向的域名一致

#

<VirtualHost *:50>

ServerAdmin zhao.wuz@alibaba-inc.com

DocumentRoot /var/www/httpdocs/demo_aliluna_com

ServerName demo.aliluna.com

ErrorLog ${APACHE_LOG_DIR}/demo.aliluna.com-error.log

CustomLog ${APACHE_LOG_DIR}/demo.aliluna.com-access.log combined

</VirtualHost>

3、通过 a2ensite 激活虚拟主机配置

sudo a2ensite demo.aliluna.com

4、打开目录 /etc/apache2/sites-enabled/,让人发现所有激活的虚拟主机,还还要通过 a2dissite 进行收回

sudo a2dissite demo.aliluna.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 *:50>

ServerAdmin zhao.wuz@alibaba-inc.com

DocumentRoot "D:/workspace/php/demo_aliluna_com"

ServerName demo.aliluna.com

ErrorLog "logs/demo.aliluna.com-error.log"

CustomLog "logs/demo.aliluna.com-access.log" common

</VirtualHost>

3、重启 Apache 服务。

总结

  最近我在不同的几台服务器上搭建了或多或少网站服务,这篇文章也有无我的自己笔记,望以后可自用,也希望对读者有用。文中介绍了哪几个主流开发和部署环境上配置虚拟主机的方式,或多或少 OS 大同小异。

sssss
Tags: Apache   VirtualHost   虚拟主机   配置  
责任编辑:190