一些小型网站若一个网站放在一台服务器上会大量浪费服务器资源,如何在一个服务器上架设多个网站呢?
我们已经知道,架设一个网站需要http服务,安装Apache后,我们可以把我们网站的内容放入到/usr/local/apache2/htdocs/里面,启动httpd服务,设置好防火墙,就可以浏览我们的网站了,那么若是想要部署多个网站要怎么做呢?这就需要apache的一个vhost虚拟主机功能了。我们来用一个实验实现这个效果:计算机浏览器输入www.a.com 显示“I am A!”,输入www.b.com 显示“I am B!”
搭建方式:
一.开启Apache虚拟主机功能使该功能生效: vim /usr/local/apache2/conf/httpd.conf 找到如下字段并把前边的“#”注释掉(如没有则手动加入),wq保存退出: Include conf/extra/httpd-vhosts.conf
二.创建网站目录并加入内容: cd /usr/local/apache2/htdocs/ mkdir mkdir touch /www.b.com/index.html touch /www.b.com/index.html echo ‘I am A!‘ > www.a.com/index.html echo ‘I am B!‘ > www.b.com/index.html
三.修改虚拟主机配置文件: vim /usr/local/apache2/conf/extra/httpd-vhosts.conf 修改为如下配置并保存: NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin 648625798@qq.com #邮箱 DocumentRoot "/usr/local/apache2/htdocs/www.a.com" #网站家目录 ServerName www.a.com #访问所用域名 ErrorLog "logs/error_log" #错误日志 CustomLog "logs/access_log" common #访问日志 </VirtualHost> <VirtualHost *:80> ServerAdmin 648625798@qq.com DocumentRoot "/usr/local/apache2/htdocs/www.b.com" ServerName www.b.com ErrorLog "logs/error_log" CustomLog "logs/access_log" common </VirtualHost>
四.重启httpd服务并访问: /usr/local/apache2/bin/apachectl restart www.a.com ====> "I am A!" www.b.com ====> "I am B!" 出现如图效果则成功。
本文出自 “IT网络” 博客,请务必保留此出处http://liupengfang1015.blog.51cto.com/6627801/1670596
原文地址:http://liupengfang1015.blog.51cto.com/6627801/1670596