Apache虚拟主机VirtualHost配置虚拟主机(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 firstVirtualHost section is used for requests without a known
# server name.
#
#<VirtualHost *:80>
# 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是网站文件存放的根目录
# Se rve rName是网站域名,需要跟DNS指向的域名一致
#
<VirtualHost *:80>
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服务使用的.可以复制一份default文件.并修改配置文件名,文件名必须与域名一致(如: demo.aliluna.com)
2.打开新建的配置文件,修改DocumentRoot, ServerName和对应的配置目录.例子如下:
#
# DocumentRoot是网站文件存放的根目录
# Se rve rName是网站域名,需要跟DNS指向的域名一致
#
<VirtualHost *:80>
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
Wi n d ows
Windows是市场占有率最高的PC操作系统,也是很多人的开发环境.其VirtualHost配置方法与Linux上有些差异, 以下方式适合原生Apache,XAMPP和WAMP套件.
1.打开目录{Apache2安装目录}confextra,找到httpd-vhosts.conf文件.
2.仿照例子,添加一段代码来指定某一域名的网站.
#
# DocumentRoot是网站文件存放的根目录
# Se rve rName是网站域名,需要跟DNS指向的域名一致
#
<VirtualHost *:80>
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.打开httpd.conf文件,添加如下语句.
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
4.重启Apache服务.
总结
最近我在不同的几台服务器上搭建了一些网站服务,这篇文章也算是我的个人笔记,望日后可自用,也希望对读者有用.文中介绍了几个主流开发和部署环境上配置虚拟主机的方法,其他OS大同小异.
Bluehost怎么样,Bluehost好不好,Bluehost成立十八周年全场虚拟主机优惠促销活动开始,购买12个月赠送主流域名和SSL证书,Bluehost是老牌虚拟主机商家了,有需要虚拟主机的朋友赶紧入手吧,活动时间:美国MST时间7月6日中午12:00到8月13日晚上11:59。Bluehost成立于2003年,主营WordPress托管、虚拟主机、VPS主机、专用服务器业务。Blueho...
 
				  搬瓦工最近新增了荷兰机房中国联通(AS9929、AS4837)线路的VPS产品,选项为NL - China Unicom Amsterdam(ENUL_9),与日本软银和洛杉矶(DC06)CN2 GIA配置一致可以互换,属于高端系列,2.5Gbps-10Gbps大带宽,最低季付46.7美元起。搬瓦工VPS隶属于老牌IT7公司旗下,主要提供基于KVM架构VPS主机,数据中心包括美国洛杉矶、凤凰城、纽...
 
				  Letbox 云服务商在前面的文章中其实也有多次介绍,这个服务商其实也算是比较老牌的海外服务商,几年前我也一直有使用过他们家的VPS主机,早年那时候低至年付15-35美元左右的VPS算式比较稀缺的。后来由于服务商确实比较多,而且也没有太多的网站需要用到,所以就没有续费,最近这个服务商好像有点活动就躁动的发布希望引起他人注意。这不有看到所谓的家中有喜事,应该是团队中有生宝宝了,所以也有借此来发布一些...
