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大同小异.
pigyun怎么样?PIGYun成立于2019年,2021是PIGYun为用户提供稳定服务的第三年,期待我们携手共进、互利共赢。PIGYun为您提供:香港CN2线路、韩国CN2线路、美西CUVIP-9929线路优质IaaS服务。月付另有通用循环优惠码:PIGYun,获取8折循环优惠(永久有效)。目前,PIGYun提供的香港cn2云服务器仅29元/月起;韩国cn2云服务器仅22元/月起;美国CUVI...
SugarHosts 糖果主机商我们算是比较熟悉的,早年学会建站的时候开始就用的糖果虚拟主机,目前他们家还算是为数不多提供虚拟主机的商家,有提供香港、美国、德国等虚拟主机机房。香港机房CN2速度比较快,美国机房有提供优化线路和普通线路适合外贸业务。德国欧洲机房适合欧洲业务的虚拟主机。糖果主机商一般是不会发布黑五活动的,他们在圣圣诞节促销活动是有的,我们看到糖果主机商发布的圣诞节促销虚拟主机低至6折...
RAKsmart怎么样?RAKsmart机房即日起开始针对洛杉矶机房的独立服务器进行特别促销活动:低至$76.77/月,最低100Mbps带宽,最高10Gbps带宽,优化线路,不限制流量,具体包括有:常规服务器、站群服务器、10G大带宽服务器、整机机柜托管。活动截止6月30日结束。RAKsmart,美国华人老牌机房,专注于圣何塞服务器,有VPS、独立服务器等。支持PayPal、支付宝付款。点击直达...