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大同小异.
星梦云怎么样?星梦云好不好,资质齐全,IDC/ISP均有,从星梦云这边租的服务器均可以备案,属于一手资源,高防机柜、大带宽、高防IP业务,一手整C IP段,四川电信,星梦云专注四川高防服务器,成都服务器,雅安服务器 。官方网站:点击访问星梦云官网活动方案:1、成都电信年中活动机(封锁UDP,不可解封):机房CPU内存硬盘带宽IP防护流量原价活动价开通方式成都电信优化线路4vCPU4G40G+50...
适逢中国农历新年,RAKsmart也发布了2月促销活动,裸机云、云服务器、VPS主机全场7折优惠,新用户注册送10美元,独立服务器每天限量秒杀最低30.62美元/月起,美国洛杉矶/圣何塞、日本、香港站群服务器大量补货,1-10Gbps大带宽、高IO等特色服务器抄底价格,机器可选大陆优化、国际BGP、精品网及CN2等线路,感兴趣的朋友可以持续关注下。裸机云新品7折,秒杀产品5台/天优惠码:Bare-...
DMIT怎么样?DMIT是一家美国主机商,主要提供KVM VPS、独立服务器等,主要提供香港CN2、洛杉矶CN2 GIA等KVM VPS,稳定性、网络都很不错。支持中文客服,可Paypal、支付宝付款。2020年推出的香港国际线路的KVM VPS,大带宽,适合中转落地使用。现在有永久9折优惠码:July-4-Lite-10OFF,季付及以上还有折扣,非 中国路由优化;AS4134,AS4837 均...