概述:
虚拟目录:指在站点下建立一个虚拟子目录,指定一个固定的物理路径做为站点的应用路径。每个Internet服务可以从多个目录中发布。虚拟服务器可拥有一个宿主目录和任意数量的其它发布目录。其它发布目录称为虚拟目录。
虚拟主机分为:
1.基于域名的虚拟主机(不同域名相同IP和端口)
向DNS服务提供虚拟Web站点的域名,以便当访问其中任何一个虚拟Web站点时,最终访问的都是同一个IP地址。
2.基于端口的虚拟主机(不同端口相同IP)
通常只用于同一个Web站点,其网站的名称、IP地址往往是相同的,但通过不同的TCP端口来提供访问不同网页内容的服务入口。在浏览器中访问非80端口的Web服务器时,需要明确指出服务器的端口号。
实验步骤:
(一).虚拟目录
1.查看httpd是否安装以及查看httpd.conf的主配置文件
![Apache虚拟目录和多端口多主机名配置](https://s1.51cto.com/images/blog/201806/09/227590db9a54a3b61835138c4b10f2b0.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
2.到/etc/httpd/conf/httpd.conf 的主配置文件中修改Listen监听地址和ServerName域名
![Apache虚拟目录和多端口多主机名配置](https://s1.51cto.com/images/blog/201806/09/f9f1f9b30ca7fd1e738632d8850e8522.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
![Apache虚拟目录和多端口多主机名配置](https://s1.51cto.com/images/blog/201806/09/0358b5c3673cbba2ba7e3b28bf11be06.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
3.启动httpd服务并关闭防火墙和增强性安全功能
![Apache虚拟目录和多端口多主机名配置](https://s1.51cto.com/images/blog/201806/09/7ab8143d375b725258b7ba04882dcbb0.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
4.切换到/etc/httpd/conf.d,在 vdir.conf配置文件中创建虚拟目录test。
![Apache虚拟目录和多端口多主机名配置](https://s1.51cto.com/images/blog/201806/09/cde6169109836738c140cd40749b6ab2.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
5.输入mkdir /opt/test创建test目录并切换到/opt目录中,写入echo "this is vdir test" > /opt/test/index.html
![Apache虚拟目录和多端口多主机名配置](https://s1.51cto.com/images/blog/201806/09/4940ab33135a78a7cbc1f5aa46a2b70f.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
6.重启httpd服务,打开浏览器输入192.168.100.100/test进行验证
![Apache虚拟目录和多端口多主机名配置](https://s1.51cto.com/images/blog/201806/09/bce315470218a782fd30840f8ad197b4.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
![Apache虚拟目录和多端口多主机名配置](https://s1.51cto.com/images/blog/201806/09/d7fad5b6f9a6938a4d750a2f13709c46.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
7.进入 vdir.conf配置文件中开启用户验证并设置用户密码
![Apache虚拟目录和多端口多主机名配置](https://s1.51cto.com/images/blog/201806/09/2d1ddf232c61a45dafe93862a8b693ed.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
![Apache虚拟目录和多端口多主机名配置](https://s1.51cto.com/images/blog/201806/09/558f81a615b4e69a85d7a07a2b162283.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
8.重启httpd服务,打开浏览器进行验证。
![Apache虚拟目录和多端口多主机名配置](https://s1.51cto.com/images/blog/201806/09/0b90b70b17434eea979c3fddd769d90a.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
![Apache虚拟目录和多端口多主机名配置](https://s1.51cto.com/images/blog/201806/09/a23584f3b06986da077626226f9ee7a4.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
(二).不同域名相同IP、端口。
1.在etc/httpd/conf.d/目录中创建 host.conf文件在host文件中分别创建域名benet、accp。
![Apache虚拟目录和多端口多主机名配置](https://s1.51cto.com/images/blog/201806/09/29f41369e29835cac671cc1754938959.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
2.创建站点目录,切换到/opt目录中分别在benet、accp首页中写入this is accp和this is benet。
![Apache虚拟目录和多端口多主机名配置](https://s1.51cto.com/images/blog/201806/09/c29acb76838c73e40232f31c2d%C3%97%C3%97%C3%97b2.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
3.搭建DNS服务进行域名解析,安装bind包。
![Apache虚拟目录和多端口多主机名配置](https://s1.51cto.com/images/blog/201806/09/4ebe8af9471b730ed05c83c200ab3be1.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
4.编辑主配置文件vim /etc/named.conf ,修改监听地址并设置所有网段都能进行解析。
5.编辑区域配置文件 vim /etc/named.rfc1912.zones
![Apache虚拟目录和多端口多主机名配置](https://s1.51cto.com/images/blog/201806/09/bebd294157bda34f89dfc072259841d0.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
6.切换到/var/named/目录下,保留原文件属性把区域数据配置模板named.localhost复制到benet.com.zone、accp.com.zone配置文件中,分别进行编辑。
![Apache虚拟目录和多端口多主机名配置](https://s1.51cto.com/images/blog/201806/09/2e2f5f6bc10f2bd1108c4db48cd3d5b5.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
![Apache虚拟目录和多端口多主机名配置](https://s1.51cto.com/images/blog/201806/09/5894c75f62c9ff3d9e17949552666e34.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
![Apache虚拟目录和多端口多主机名配置](https://s1.51cto.com/images/blog/201806/09/1534f8709d009fa36088fd64eb29aced.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
7.启动named服务和重启httpd服务进行解析验证
![Apache虚拟目录和多端口多主机名配置](https://s1.51cto.com/images/blog/201806/09/4d1ccfc69876848ea8ff1aa6835bd0bd.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
![Apache虚拟目录和多端口多主机名配置](https://s1.51cto.com/images/blog/201806/09/35658fd47668d11f1cc688892e257cb7.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
(三).不同端口相同IP
1.切换到/etc/httpd/conf.d/目录中,在host.conf 文件中插入8080端口。
![Apache虚拟目录和多端口多主机名配置](https://s1.51cto.com/images/blog/201806/09/afa4f83c636b225cf5ca4a4ed8f1f702.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
![Apache虚拟目录和多端口多主机名配置](https://s1.51cto.com/images/blog/201806/09/b7ef82e6916fee913ace13474ad8a6be.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
2.创建站点目录benet01,切换到/opt目录中
![Apache虚拟目录和多端口多主机名配置](https://s1.51cto.com/images/blog/201806/09/8c62ca79fb2dafd2e9e83f66ed6ac8c1.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
3.编辑/etc/httpd/conf/httpd.conf配置文件,加入监听地址和端口8080.
![Apache虚拟目录和多端口多主机名配置](https://s1.51cto.com/images/blog/201806/09/c717b6dd14132ec1dade197b325ae86e.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
4.重启httpd服务并查看端口信息
![Apache虚拟目录和多端口多主机名配置](https://s1.51cto.com/images/blog/201806/09/1685aa85f2ae46e1c3f573d781b1684b.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
5.在浏览器上输入www.benet.com:8080进行验证