Apache 虚拟主机

httpd支持的虚拟主机类型包括以下三种

  • 基于域名:为每个虚拟主机使用不同的域名、但其对应的IP使相同的。
  • 基于IP地址:为每个虚拟主机使用不同的域名,切各自对应的IP地址也不相同。
  • 基于端口:这种方式并不使用域名、IP地址来区分不同的站点内容,而是使用了不同的TCP端口号,因此用户在浏览不同的虚拟主机站点时需要同时指定端口号才能访问。

环境: http://www.cnblogs.com/zzzhfo/p/5925786.html

1、基于域名的虚拟主机

  • 为虚拟主机提供域名解析

可以自行搭建测试使用的DNS服务器、这里采用本地hosts解析

  •  为虚拟主机准备网页文档

为每个虚拟web主机准备网站目录及网页文档

[root@www /]# mkdir -p /var/www/html/bbs
[root@www /]# mkdir -p /var/www/html/blog
[root@www /]# echo "<h1>bbs.httpd.com<h1/>" > /var/www/html/bbs/index.html
[root@www /]# echo "<h1>blog.httpd.com<h1/>" > /var/www/html/blog/index.html

 

  • 添加虚拟主机配置
[root@www /]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf                       //配置独立的配置文件
NameVirtualHost *:80      //设置虚拟主机监听地址
<Directory "/var/www/html">   //设置目录访问权限
  Order allow,deny
  Allow from all
</Directory>

<VirtualHost *:80>                     
    DocumentRoot "/var/www/html/bbs"
    ServerName bbs.httpd.com
    ErrorLog "logs/bbs.httpd.com.error_log"
    CustomLog "logs/bbs.httpd.com.access_log" common
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/var/www/html/blog"
    ServerName blog.httpd.com
    ErrorLog "logs/blog.httpd.com.error_log"
    CustomLog "logs/dummy-host2.example.com.access_log" common
</VirtualHost>

[root@www /]# vim /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf    //加载独立的配置文件
[root@www /]# /usr/local/httpd/bin/apachectl restart  //重启服务使配置生效
 

 

  • 修改hosts文件
[root@www /]# vim /etc/hosts
192.168.119.131  bbs.httpd.com
192.168.119.131  blog.httpd.com

 

  • 在客户机中访问虚拟web主机
[root@www /]# curl bbs.httpd.com
<h1>bbs.httpd.com<h1/>
[root@www /]# curl blog.httpd.com
<h1>blog.httpd.com<h1/>

 

2、基于IP地址的虚拟主机

配置基于IP地址的虚拟web主机时,不使用NameVirtualHost配置项来指定监听服务的IP地址

[root@www /]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf                       //配置独立的配置文件

<Directory "/var/www/html">   //设置目录访问权限
  Order allow,deny
  Allow from all
</Directory>

<VirtualHost 192.168.119.131:80>                     
    DocumentRoot "/var/www/html/bbs"
    ServerName bbs.httpd.com
    ErrorLog "logs/bbs.httpd.com.error_log"
    CustomLog "logs/bbs.httpd.com.access_log" common
</VirtualHost>

<VirtualHost 192.168.119.132:80>
    DocumentRoot "/var/www/html/blog"
    ServerName blog.httpd.com
    ErrorLog "logs/blog.httpd.com.error_log"
    CustomLog "logs/dummy-host2.example.com.access_log" common
</VirtualHost>

[root@www /]# vim /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf    //加载独立的配置文件
[root@www /]# /usr/local/httpd/bin/apachectl restart  //重启服务使配置生效

 

3、基于端口的虚拟主机

配置基于端口的虚拟web主机时,不使用NameVirtualHost配置项来指定监听服务的IP地址
[root@www /]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf                       //配置独立的配置文件

<Directory "/var/www/html">   //设置目录访问权限
  Order allow,deny
  Allow from all
</Directory>

<VirtualHost 192.168.119.131:80>                     
    DocumentRoot "/var/www/html/bbs"
    ServerName bbs.httpd.com
    ErrorLog "logs/bbs.httpd.com.error_log"
    CustomLog "logs/bbs.httpd.com.access_log" common
</VirtualHost>

<VirtualHost 192.168.119.131:80>
    DocumentRoot "/var/www/html/blog"
    ServerName blog.httpd.com
    ErrorLog "logs/blog.httpd.com.error_log"
    CustomLog "logs/dummy-host2.example.com.access_log" common
</VirtualHost>

[root@www /]# vim /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf    //加载独立的配置文件
Listen 192.168.119.131:80    //监听80端口
Listen 192.168.119.131:8080   //监听8080端口
[root@www /]# /usr/local/httpd/bin/apachectl restart  //重启服务使配置生效

 

原文链接:https://www.cnblogs.com/hwlong/articles/5934181.html
本文来源 互联网收集,文章内容系作者个人观点,不代表 本站 对观点赞同或支持。如需转载,请注明文章来源,如您发现有涉嫌抄袭侵权的内容,请联系本站核实处理。

© 版权声明

相关文章