虚拟主机
虚拟主机指的是在同一台服务器中运行多个Web站点。实现虚拟主机有三种技术:基于域名的虚拟主机、基于IP地址的虚拟主机、基于端口的虚拟主机,在实际使用中主要是基于域名的虚拟主机。
基于域名的虚拟主机
服务器IP:10.15.72.38
站点1:bbs.justin.com 程序所在目录/var/www/html/bbs
站点2:blog.justin.com 程序所在目录/var/www/html/blog
要实现基于域名的虚拟主机,首先要在DNS服务器中配置好相应的域名,这里在本地的C:\Windows\System32\drivers\etc\hosts文件末尾添加解析:10.15.72.38 bbs.justin.com blog.justin.com
1、添加站点主目录
1
2
3
4
|
[root@justin ~]
# mkdir /var/www/html/bbs
[root@justin ~]
# mkdir /var/www/html/blog
[root@justin ~]
# echo "bbs website" > /var/www/html/bbs/index.html
[root@justin ~]
# echo "blog website" > /var/www/html/blog/index.html
|
2、修改Apache配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
[root@justin ~]
# vim /etc/httpd/conf/httpd.conf
#<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>
NameVirtualHost 10.15.72.38:80 ---表示在这台主机上启用虚拟主机功能
<VirtualHost 10.15.72.38:80>
DocumentRoot
/var/www/html/bbs
---虚拟主机的主目录
ServerName bbs.justin.com ---虚拟主机的域名
<
/VirtualHost
>
<VirtualHost 10.15.72.38:80> ---虚拟主机的标准格式,每增加一台虚拟主机就要添加这样一个段落
DocumentRoot
/var/www/html/blog
ServerName blog.justin.com
<
/VirtualHost
>
[root@justin ~]
# /etc/init.d/httpd restart
停止 httpd: [确定]
正在启动 httpd: [确定]
[root@justin ~]
#
|
简单的虚机主机就搭建好了
虚拟目录
物理目录是直接位于站点主目录中的下级子目录;虚拟目录在逻辑上属于站点的下级目录,但物理位置并不在站点主目录中,如站点主目录为/var/www/html/bbs而虚拟目录可以在/home/www/virdir中,虚拟目录的好处是便于对站点进行维护和扩展。
例:为站点bbs.justin.com创建一个虚拟目录virdir,虚拟目录位于/home/www/virdir
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
[root@justin ~]# mkdir -p /home/www/virdir
[root@justin ~]# echo
"This is Virtual Directory"
> /home/www/virdir/index.html
[root@justin ~]# vim /etc/httpd/conf/httpd.conf
#<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>
NameVirtualHost
10.15
.
72.38
:
80
<VirtualHost
10.15
.
72.38
:
80
>
DocumentRoot /
var
/www/html/bbs
ServerName bbs.justin.com
Alias /virdir
"/home/www/virdir"
</VirtualHost>
<VirtualHost
10.15
.
72.38
:
80
>
DocumentRoot /
var
/www/html/blog
ServerName blog.justin.com
</VirtualHost>
[root@justin ~]# /etc/init.d/httpd restart
停止 httpd: [确定]
正在启动 httpd: [确定]
[root@justin ~]#
|
本文转自 justin_peng 51CTO博客,原文链接:http://blog.51cto.com/ityunwei2017/1352579,如需转载请自行联系原作者