zoukankan      html  css  js  c++  java
  • Apache下配置虚拟主机总结

    如果一台服务器想要挂多个网站,就需要为该服务器配置虚拟主机

    配置方法有两种

        1.如果每个网站的IP地址是不同的那么就是基于IP的虚拟主机    

        2.如果每个网站的IP地址相同,访问的域名不同则为基于主机名

    1.基于IP的虚拟主机步骤

    Window下设置

    步骤

    1.创建两个网站目录:test1site1,testsite2里面各创建一个index.html 然后将网站放在apache网站htdocs目录下

    2.创建虚拟IP:右击网上邻居---属性------选择IP4-----属性----IP地址不能自动获取,单击高级-----在IP地址中添加IP

        

    3.设置系统hosts表添加IP地址和域名转换: hosts表位置:C:WindowsSystem32driversetc 


    4.修改apache配置文件htdocs: 将Include conf/extra/httpd-vhosts.conf前面的#号去掉

    5.修改httpd-vhosts.conf:

    <VirtualHost 192.168.1.21:80>

        ServerAdmin www.test1.com

            DocumentRoot "D:/PHP/Apache/htdocs/testSite1

           <Directory "D:/PHP/Apache/htdocs/testSite1">//修改权限

             Options Indexes FollowSymLinks

             AllowOverride None

             Order allow,deny

             Allow from all

          </Directory>   

    </VirtualHost>

    <VirtualHost 192.168.1.22:80>

        ServerAdmin www.test2.com

        DocumentRoot "D:/PHP/Apache/htdocs/testSite2"

        <Directory "D:/PHP/Apache/htdocs/testSite2">

     Options Indexes FollowSymLinks

     AllowOverride None

     Order allow,deny

     Allow from all

        </Directory>   

    </VirtualHost>

     

    6.重启apache:输入www.test1.com测试

     

    在linux下

    linux下面创建IP地址的方法


    Linux的hosts文件在 /etc/目录下 可以用VI编辑器编辑

    其他的均相同 

     

    2.基于主机名的虚拟主机步骤

    步骤:

    基于主机名不需要添加IP地址但仍需要添加IP地址与域名对应关系设置成:

    修改apache配置文件htdocs: 将Include conf/extra/httpd-vhosts.conf前面的#号去掉

    #必须指定服务器IP地址(和可能端口)来使主机接受请求,这里使用*代表所有地址

    NameVirtualHost *:80

    <VirtualHost *:80>

        #与全局的ServerName参数相同

        ServerName *

        #与全局的DocumentRoot参数相同

        DocumentRoot D:/PHP/Apache/docs/  

    </VirtualHost>

    <VirtualHost *:80>

        ServerAdmin www.test1.com

        DocumentRoot "D:/PHP/Apache/htdocs/testSite1"

        <Directory "D:/PHP/Apache/htdocs/testSite1">

     Options Indexes FollowSymLinks

     AllowOverride None

     Order allow,deny

     Allow from all

        </Directory>   

    </VirtualHost>

    <VirtualHost *:80>

        ServerAdmin www.test2.com

        DocumentRoot "D:/PHP/Apache/htdocs/testSite2"

        <Directory "D:/PHP/Apache/htdocs/testSite2">

     Options Indexes FollowSymLinks

     AllowOverride None

     Order allow,deny

     Allow from all

        </Directory>   

    </VirtualHost>

    还有一种方法通过同一IP地址 不同端口访问

    如果我们想让testsite1用80端口,testsite2用81 端口大家还可以在htdocs 中添加listen 80  listen 81

    然后在 httpd-vhosts.conf 设置

    <VirtualHost 192.168.0.20:80>

        ServerAdmin www.test1.com

        DocumentRoot "D:/PHP/Apache/htdocs/testSite1"

        <Directory "D:/PHP/Apache/htdocs/testSite1">

     Options Indexes FollowSymLinks

     AllowOverride None

     Order allow,deny

     Allow from all

        </Directory>   

    </VirtualHost>

    <VirtualHost 192.168.0.20:81>

        ServerAdmin www.test2.com

        DocumentRoot "D:/PHP/Apache/htdocs/testSite2"

        <Directory "D:/PHP/Apache/htdocs/testSite2">

     Options Indexes FollowSymLinks

     AllowOverride None

     Order allow,deny

     Allow from all

        </Directory>   

    </VirtualHost>

    这样我们就可以用192.168.0.20:81访问testsite2了。 如果想在internet访问IP地址必须是静态的

  • 相关阅读:
    Django ORM常用的函数以及修饰词
    通过gitlabAPI批量创建用户
    【BZOJ】ARC083 E
    【Atcoder】ARC083 D
    【BZOJ】1604: [Usaco2008 Open]Cow Neighborhoods 奶牛的邻居
    【BZOJ】1593: [Usaco2008 Feb]Hotel 旅馆
    【BZOJ】5010: [Fjoi2017]矩阵填数
    【Atcoder】ARC082 E
    【BZOJ】5028: 小Z的加油店
    【BZOJ】1691: [Usaco2007 Dec]挑剔的美食家
  • 原文地址:https://www.cnblogs.com/hemei/p/3710359.html
Copyright © 2011-2022 走看看