【问题标题】:How to set up virtual hosts on Apache 2.2如何在 Apache 2.2 上设置虚拟主机
【发布时间】:2010-10-23 22:19:52
【问题描述】:

谁能指导我学习如何使用 Apache 2.2 设置虚拟主机的好教程?这是我的情况:

我的笔记本电脑上运行着 Apache,我想要两个网站——一个在端口 80 上,一个在端口 8089 上。我想通过输入计算机的 IP 地址从网络上的另一台计算机访问每个站点,例如 @ 987654321@ 和http://192.168.1.102:8089。然而,当我输入第二个 url 时,它会将我定向到在端口 80 上运行的网站。

提前感谢您的帮助。

【问题讨论】:

    标签: apache httpd.conf


    【解决方案1】:

    首先你需要指示 Apache 监听你需要的端口:

    Listen 80
    Listen 8089
    

    其次你需要告诉它如何处理 80 和 8089 流量:

    <VirtualHost *:80>
        DocumentRoot /website/site80
        ServerName internet.dev
    </VirtualHost>
    
    <VirtualHost *:8089>
        DocumentRoot /website/site8089
    </VirtualHost>
    

    第三,您需要“允许”Apache 使用这些目录:

    <Directory "C:/website/site80">
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
    
    <Directory "C:/website/site8089">
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
    

    【讨论】:

    • 它仍在将我重定向到端口 80 的站点。我真的不明白。
    【解决方案2】:

    只有 2 个像这样定义的虚拟主机,但 DocumentRoots 不同:

    <VirtualHost *:80>
        ServerAdmin webmaster@dummy-host.somecompany.com
        DocumentRoot "/docs/dummy-host.somecompany.com"
        ServerName dummy-host.somecompany.com
        ServerAlias www.dummy-host.somecompany.com
        ErrorLog "logs/dummy-host.somecompany.com-error.log"
        CustomLog "logs/dummy-host.somecompany.com-access.log" common
    </VirtualHost>
    
    <VirtualHost *:8089>
        ServerAdmin webmaster@dummy-host.somecompany.com
        DocumentRoot "/docs/dummy-host.somecompany.com"
        ServerName dummy-host.somecompany.com
        ServerAlias www.dummy-host.somecompany.com
        ErrorLog "logs/dummy-host.somecompany.com-error.log"
        CustomLog "logs/dummy-host.somecompany.com-access.log" common
    </VirtualHost>
    

    【讨论】:

    • 由于我没有任何主机名,我可以为以下属性使用什么——我的 IP 地址? ServerName dummy-host.somecompany.com ServerAlias www.dummy-host.somecompany.com
    • 唯一真正重要的是 DocumentRoot。我很确定(尽管不确定),您可以省略所有其他声明,只需将浏览器指向 localhost:80localhost:8089,您就会从相应的 DocumentRoot 获得相应的文件
    • 我只是按你说的试了一下——没区别。无论我输入localhost:80 还是localhost:8089,我仍然会在端口 80 上看到相同的网页,而不是在端口 8089 上的网页。
    猜你喜欢
    • 1970-01-01
    • 2011-02-09
    • 2010-11-02
    • 2013-05-22
    • 1970-01-01
    • 1970-01-01
    • 2011-03-19
    • 2013-09-15
    • 2010-10-21
    相关资源
    最近更新 更多