虚拟主机

虚拟主机指的是在同一台服务器中运行多个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、添加站点主目录

[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配置

[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 ~]#

Web服务基础三之Apache虚拟主机、虚拟目录配置_httpd

Web服务基础三之Apache虚拟主机、虚拟目录配置_virtual_02

简单的虚机主机就搭建好了


虚拟目录

物理目录是直接位于站点主目录中的下级子目录;虚拟目录在逻辑上属于站点的下级目录,但物理位置并不在站点主目录中,如站点主目录为/var/www/html/bbs而虚拟目录可以在/home/www/virdir中,虚拟目录的好处是便于对站点进行维护和扩展。

例:为站点bbs.justin.com创建一个虚拟目录virdir,虚拟目录位于/home/www/virdir

[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 ~]#

Web服务基础三之Apache虚拟主机、虚拟目录配置_httpd_03


 ###########################################################

                         关注微信平台,了解最新动态                                                                        

Web服务基础三之Apache虚拟主机、虚拟目录配置_apache_04由于学习阶段公开的文章随时会进行完善,
修正的文章会通过微信平台给出提示,
欢迎关注,同时希望得到大家的指点.


Linux交流QQ群:333212786

Web服务基础三之Apache虚拟主机、虚拟目录配置_httpd_05

#############################################################