|
一些小型网站若一个网站放在一台服务器上会大量浪费服务器资源,如何在一个服务器上架设多个网站呢?
我们已经知道,架设一个网站需要http服务,安装Apache后,我们可以把我们网站的内容放入到/usr/local/apache2/htdocs/里面,启动httpd服务,设置好防火墙,就可以浏览我们的网站了,那么若是想要部署多个网站要怎么做呢?这就需要apache的一个vhost虚拟主机功能了。我们来用一个实验实现这个效果:计算机浏览器输入www.a.com 显示“I am A!”,输入www.b.com 显示“I am B!”
搭建方式:
1
2
3
4
5
6
| 一.开启Apache虚拟主机功能使该功能生效:
vim /usr/local/apache2/conf/httpd.conf
找到如下字段并把前边的“#”注释掉(如没有则手动加入),wq保存退出:
Include conf/extra/httpd-vhosts.conf
|
1
2
3
4
5
6
7
8
| 二.创建网站目录并加入内容:
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
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| 三.修改虚拟主机配置文件:
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>
|
1
2
3
4
5
| 四.重启httpd服务并访问:
/usr/local/apache2/bin/apachectl restart
www.a.com ====> "I am A!"
www.b.com ====> "I am B!"
出现如图效果则成功。
|
|
|