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大同小异.
RAKsmart 商家从原本只有专注于独立服务器后看到产品线比较单薄,后来陆续有增加站群服务器、高防服务器、VPS主机,以及现在也有在新增云服务器、裸机云服务器等等。机房也有增加到拥有洛杉矶、圣何塞、日本、韩国、中国香港等多个机房。在年前也有介绍到RAKsmart商家有提供年付129元的云服务器套餐,年后我们看到居然再次刷新年付云服务器低价格。我们看到云服务器低至年79元,如果有需要便宜云服务器的...
感恩一年有你!免费领取2核4G套餐!2核4G轻量应用服务器2核 CPU 4GB内存 60G SSD云硬盘 6Mbps带宽领取地址:https://cloud.tencent.com/act/pro/lighthousethankyou活动规则活动时间2021年9月23日 ~ 2021年10月23日活动对象腾讯云官网已注册且完成实名认证的国内站用户(协作者与子用户账号除外),且符合以下活动条件:账号...
官方网站:点击访问火数云活动官网活动方案:CPU内存硬盘带宽流量架构IP机房价格购买地址4核4G50G 高效云盘20Mbps独享不限openstack1个九江287元/月立即抢购4核8G50G 高效云盘20Mbps独享不限openstack1个九江329元/月立即抢购2核2G50G 高效云盘5Mbps独享不限openstack1个大连15.9元/月立即抢购2核4G50G 高效云盘5Mbps独享不限...