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大同小异.
趣米云怎么样?趣米云是创建于2021年的国人IDC商家,虽然刚刚成立,但站长早期为3家IDC提供技术服务,已从业2年之久,目前主要从事出售香港vps、香港独立服务器、香港站群服务器等,目前在售VPS线路有三网CN2、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。由于内存资源大部分已售,而IP大量闲置,因此我们本月新增1c1g优惠套餐。点击进入:趣米云官方网站地址香港三网CN2云服务器机型活...
pacificrack又追加了3款特价便宜vps搞促销,而且是直接7折优惠(一次性),低至年付7.2美元。这是本月第3波便宜vps了。熟悉pacificrack的知道机房是QN的洛杉矶,接入1Gbps带宽,KVM虚拟,纯SSD RAID10,自带一个IPv4。官方网站:https://pacificrack.com支持PayPal、支付宝等方式付款7折秒杀优惠码:R3UWUYF01T内存CPUSS...
HostKvm,我们很多人都算是比较熟悉的国人服务商,旗下也有多个品牌,差异化多占位策略营销的,商家是一个创建于2013年的品牌,有提供中国香港、美国、日本、新加坡区域虚拟化服务器业务,所有业务均对中国大陆地区线路优化,已经如果做海外线路的话,竞争力不够。今天有看到HostKvm夏季优惠发布,主要针对香港国际和韩国VPS提供7折优惠,折后最低月付5.95美元,其他机房VPS依然是全场8折。第一、夏...