[英]Vagrant virtual hosts/shared folders not accessible
我目前有一個帶有CentOS 7的流浪盒。在我的Vagrantfile中,我有以下配置:
config.vm.box = "centos/7"
config.vm.provision :shell, path: "provision.sh"
config.vm.network "private_network", ip: "192.168.50.4"
# config.vm.synced_folder ".", "/vagrant"
我知道默認情況下,vagrant共享包含Vagrantfile的文件夾的內容。 可以在VM內的/vagrant
文件夾中找到它們。
我想要訪問的代碼位於與Vagrantfile相同的文件夾中。 我可以在VM上的/vagrant/api/
。
我的目標是能夠達到我機器內的api索引。 我正在嘗試為此效果創建一個虛擬主機。
在我的配置文件中,我有以下內容:
if [ $(grep -c 'api' /etc/httpd/conf/httpd.conf) -eq 0 ]; then
cat >> /etc/httpd/conf/httpd.conf <<EOM
<VirtualHost *:8081>
DocumentRoot "/vagrant/api/public"
<Directory "/vagrant/api/public">
Options +Indexes +FollowSymLinks
DirectoryIndex index.php
Order allow,deny
Allow from all
AllowOverride All
Require all granted
Header set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Headers "X-Requested-With, Content-Type, Origin, Authorization, Accept, Client-Security-Token, Accept-Encoding"
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT, UPDATE"
Header merge Vary "Origin"
</Directory>
ServerName vagrant.api.local:8081
ServerAlias vagrant.api.local
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
</VirtualHost>
EOM
fi
service httpd restart;
我將192.168.50.4 vagrant.api.local
添加到/etc/hosts
文件中(在我的機器上和VM上)。
然而,當我嘗試在瀏覽器上訪問vagrant.api.local:8081
時,我得到了This site can't be reached. vagrant.api.local refused to connect.
This site can't be reached. vagrant.api.local refused to connect.
我可以ping這個url並獲得正面結果,0%丟包。
關於如何在此網址上加載/vagrant/api/public/index.php
文件的任何想法? 我究竟做錯了什么?
我會回答這個問題
我的目標是能夠達到我機器內的
api
索引
因此默認情況下你是正確的,vagrant與包含VM的/vagrant
文件夾的Vagrantfile
包含Vagrantfile
本地文件夾的內容。
但有一件事就是盒子覆蓋Vagrantfile的配置,以及centos/7
盒子的情況。
如果你查看$HOME/.vagrant.d/boxes/centos-VAGRANTSLASH-7/<box_version>/virtualbox
你會發現Vagrantfile框聲明了
Vagrant.configure("2") do |config|
config.vm.base_mac = "525400261060"
config.vm.synced_folder ".", "/vagrant", type: "rsync"
end
由於文件夾是rsync類型,它只能從運行到Vagrant啟動的機器的一次性單向同步。
最簡單的方法是刪除rsync文件夾類型並使用默認的虛擬框同步文件夾機制,該機制將提供(接近)實時雙向同步。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.