2014-07-16 50 views
3

我在设置虚拟主机时遇到麻烦。 我在主机上配置了我的主机文件(192.168.33.10 local.dev)。但是我不知道如何在我的虚拟机中设置我的虚拟主机以及如何访问它。我不想用木偶或厨师或其他,我想了解我在做什么... :) 目前这里是我的我的虚拟主机的设置:设置一个流浪者的虚拟主机

ServerAdmin [email protected] 
DocumentRoot /var/www/html/support/mysite 
<Directory /var/www/html/support/mysite> 
    Options -Indexes +FollowSymLinks 
    AllowOverride All 
    Require all granted 
</Directory> 

ErrorLog ${APACHE_LOG_DIR}/mysite-error.log 
CustomLog ${APACHE_LOG_DIR}/mysite-access.log combined 

的问题我真的不知道我应该把它当作服务器名称或别名,以及如何访问它。 感谢您的任何帮助!

回答

4

如果您已经添加了所有你想运行您的主机文件作为虚拟的(全部用同一个IP)的网站,那么所有你需要做的就是添加多个“虚拟主机”配置到Apache的conf文件,并使用您定义的同一个“site.dev”名称。 Apache将读取并指向正确的“DocumentRoot”。

这里是定义两个站点的一个片段。只需添加更多定义为更多的网站:

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/html/site1/ 
    ErrorLog logs/site1_error_log 
    CustomLog logs/site1_access_log combined 
    ServerName site1.dev 
</VirtualHost> 

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/html/site2/ 
    ErrorLog logs/site2_error_log 
    CustomLog logs/site2_access_log combined 
    ServerName site2.dev 
</VirtualHost> 
+0

谢谢!过了一段时间后,我真的自己找到了。不幸的是我没有看到你的答案更快:) – Matheus

0

为您服务每台机器只有一个站点,您不需要虚拟主机,只要 - 在这种情况下local.dev。您可以保留默认的apache2配置。

你需要了解虚拟主机实际上是什么,看看这个:

虚拟主机的主要目的是只有一个公网IP一台机器上运行不同的DNS域名多个网站的可能性分配给它的地址。尽管有许多网站由于流量较低而永远不会耗尽服务器的物理能力,但最明显的优势是可用域的数量现在独立于可用IP(v4)地址的数量,这是非常有限的。

这是由在HTTP的变化将其在1.1版本推出实现。该更改将Host标头添加到包含服务器域名的HTTP请求。 HTTP服务器通常不会有这样的信息:“客户端访问我时使用的主机名是什么”,因为DNS解析将在客户端发出HTTP请求之前发生,然后服务器将被其IP地址访问。

具有与Host头,服务器的信息,而被它访问的IP地址,可以决定应被服务的站点。然后,多个站点将拥有不同的文档根文件夹。


但是,您只是从您的流浪箱中提供一个页面,因此无需设置虚拟主机。只需使用apache的default即可。

+0

谢谢您的回答。不过,我想为不同的项目设置1个虚拟机,因为它们使用相同的配置。这就是为什么我想设置虚拟主机:) – Matheus

+0

你设置了两个vms?每个项目一个? – hek2mgl

+0

我想为多个项目提供1个虚拟机......这可能吗?还是我必须为每个项目保留一个虚拟机? – Matheus