Vagrant 与流浪汉建立联系

Vagrant 与流浪汉建立联系,vagrant,vhosts,Vagrant,Vhosts,我和流浪汉的关系不好。 我已经在我的主机(192.168.33.10 local.dev)上配置了我的主机文件。但是我不知道如何在我的虚拟机中设置vhost以及如何访问它。我不想使用木偶或厨师或其他,因为我想了解我在做什么……:) 目前,以下是我的vhost设置: ServerAdmin webmaster@localhost DocumentRoot /var/www/html/support/mysite <Directory /var/www/html/support/mysite&

我和流浪汉的关系不好。 我已经在我的主机(192.168.33.10 local.dev)上配置了我的主机文件。但是我不知道如何在我的虚拟机中设置vhost以及如何访问它。我不想使用木偶或厨师或其他,因为我想了解我在做什么……:) 目前,以下是我的vhost设置:

ServerAdmin webmaster@localhost
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
ServerAdminwebmaster@localhost
DocumentRoot/var/www/html/support/mysite
选项-索引+FollowSymLinks
允许超越所有
要求所有授权
ErrorLog${APACHE_LOG_DIR}/mysite-error.LOG
CustomLog${APACHE_LOG_DIR}/mysite-access.LOG组合
问题是我真的不知道我应该把什么作为服务器名或别名,以及如何访问它。
谢谢你的帮助

只要每台机器只服务一个站点,就不需要vhost-
local.dev
。您可以保留默认的apache2配置

您需要了解虚拟主机的实际用途,才能看到这一点:

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

这是通过在1.1版中启动的HTTP更改实现的。更改将
Host
头添加到包含服务器域名的HTTP请求中。HTTP服务器通常不会有以下信息:“客户端访问我时使用的主机名是什么”,因为DNS解析将在客户端发出HTTP请求之前进行,然后服务器将通过其IP地址进行访问

主机
头获取信息后,服务器在通过其IP地址访问时,可以决定应该为哪个站点提供服务。然后,多个站点将具有不同的文档根文件夹



但是,您只提供了vagrant box中的一个页面,因此不需要设置虚拟主机。只需使用apache的
default
one.

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

下面是一个定义了两个站点的代码段。只需为更多站点添加更多定义:

<VirtualHost *:80>
  ServerAdmin webmaster@localhost
  DocumentRoot /var/www/html/site1/
  ErrorLog logs/site1_error_log
  CustomLog logs/site1_access_log combined
  ServerName site1.dev
</VirtualHost>

<VirtualHost *:80>
  ServerAdmin webmaster@localhost
  DocumentRoot /var/www/html/site2/
  ErrorLog logs/site2_error_log
  CustomLog logs/site2_access_log combined
  ServerName site2.dev
</VirtualHost>

服务器管理员webmaster@localhost
DocumentRoot/var/www/html/site1/
错误日志/站点1\u错误日志
自定义日志/站点1\u访问\u日志组合
ServerName site1.dev
服务器管理员webmaster@localhost
DocumentRoot/var/www/html/site2/
错误日志/站点2\u错误日志
自定义日志/站点2\u访问\u日志组合
ServerName站点2.dev

我认为有一个更优雅的解决方案来解决你流浪汉盒子上的虚拟主机问题

直接在Vagrant文件中设置虚拟主机,以便配置可以提交到git

查看Vagrant文件中设置vHost的说明:

这里有关于厨师独奏的文档


谢谢你的回答。但是,我想为不同的项目设置1个VM,因为它们使用相同的配置。这就是为什么我要设置vhost:)您要设置两个虚拟机吗?每个项目一个?我想有一个虚拟机用于多个项目。。。可能吗?或者我必须为每个项目保留一个虚拟机吗?我想要的是,当我键入我的项目url时,我进入一个项目,然后键入另一个项目,我进入另一个项目。。。但所有这些都在1个虚拟机内完成。这就是为什么我需要vhosting,而问题仍然是:“如何使用apache2设置虚拟主机”。虽然这是非常直观的,但有数十亿的答案在那里。谢谢!事实上,过了一会儿我自己就知道了。不幸的是,我没有更早地看到你的答案:)