日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
在Windows上使用Vagrant遇到的坑

在Windows上使用vagrant遇到的坑

作者:佚名 2018-02-07 11:15:07

云計算

虛擬化 這篇文章是在windows上使用了vagrant半年后,突然切換到mac上來,遇到了各種坑,今天補了這篇文章。希望對你有幫助。

創(chuàng)新互聯建站成立10年來,這條路我們正越走越好,積累了技術與客戶資源,形成了良好的口碑。為客戶提供網站設計、做網站、網站策劃、網頁設計、域名注冊、網絡營銷、VI設計、網站改版、漏洞修補等服務。網站是否美觀、功能強大、用戶體驗好、性價比高、打開快等等,這些對于網站建設都非常重要,創(chuàng)新互聯建站通過對建站技術性的掌握、對創(chuàng)意設計的研究為客戶提供一站式互聯網解決方案,攜手廣大客戶,共同發(fā)展進步。

這篇文章是在windows上使用了vagrant半年后,突然切換到mac上來,遇到了各種坑,今天補了這篇文章。希望對你有幫助。

遇到的問題

之前寫了一系列的vagrant使用教程,當時寫這個教程的時候實在windows的環(huán)境下。最近再mac上使用,遇到了一些麻煩。

今天最想說的一個問題就是權限的問題。

在windows中由于沒有文件權限的概念,所有當我們共享目錄后,共享目錄默認就是777權限。

但是當我使用mac時,共享后的目錄權限以及用戶組都不正確了。無法正常使用。這樣導致的一個直接問題就是:

項目a運行在虛擬機中,需要向runtime目錄寫入日志或者臨時文件之類的,總之就是需要讀寫權限。

解決辦法

當時我直接ssh上vagrang后,給予777權限,無法寫入,然后又在主機給予777權限,可以寫入一個文件,但是下個文件又拿到權限寫入。

后來由各種google與百度,看到說使用nfs的方式可以解決這個問題,但是各方給出的解決方案都很成舊,有的方法使用后甚至虛擬機都無法啟動了。

沒辦法,老老實實上官網看nfs相關的配置吧。老實說官方給的文檔真的是有點太簡單抽象了,只能結合之前的一些東西結合起來使用。最終終于找到辦法,這里將相關的配置貼出來,供大家參考。

  
 
 
 
  1. config.vm.define :php7 do |p7| 
  2.   p7.vm.provider "virtualbox" do |v| 
  3.         v.customize ["modifyvm", :id, "--name", "php6", "--memory", "512"] 
  4.  
  5.         ## 域名解析慢 
  6.         v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] 
  7.         v.customize ["modifyvm", :id, "--natdnsproxy1", "on"] 
  8.   end 
  9.   p7.vm.box = "CentOs7" 
  10.   p7.vm.hostname = "php7" 
  11.   p7.vm.network :private_network, ip: "192.168.33.10" 
  12.  
  13.   # ssh 奇怪:***次啟動虛擬機無法獲取ip 
  14.   p7.ssh.username = "root" 
  15.   p7.ssh.password = "vagrant" 
  16.   p7.ssh.host = "192.168.33.11" 
  17.   p7.ssh.port = 22 
  18.    
  19.   ## nfs文件權限問題  啟動了好幾次才正常,不知道原因 
  20.   p7.vm.synced_folder "./www", "/data/wwwroot", type: "nfs", :nfs => { 
  21.     :linux_nfs_options => ["not_root_squash"], 
  22.     :map_uid => 0, 
  23.     :map_gid => 0 
  24.   } 
  25. end 

這個配置是在一個 Vagrantfile 中配置多臺機器的配置文檔。其中遇到的一些奇怪問題,注釋中都標明了。

  • 配置的ip地址,***使用 vagrant up php7 后,無效,需要重新啟動,虛擬機才能拿到這個ip。至今不懂為什么,麻煩知道的告訴我一下??!
  • nfs配置信息全面解決了權限問題。你需要給出什么權限直接在 vagrang 虛擬機中進行設置。但是在掛載目錄時,有時候配置的新機器會莫名其妙重新啟動好幾次才可以。我啟動了三次。
  • 另一個坑是,新機器安裝后,需要配置dns解析。否則有的資源是無法下載的。
  
 
 
 
  1. $ vim /etc/resolv.conf 
  2.  
  3. ## 增加以下內容 
  4. nameserver 8.8.8.8 

由于配置了啟動時使用 root 帳號,需要每次在mac上啟動的時候輸入機器密碼,很麻煩,官方指導配置 /etc/sudoers 如下內容

  
 
 
 
  1. Cmnd_Alias VAGRANT_EXPORTS_ADD = /usr/bin/tee -a /etc/exports 
  2. Cmnd_Alias VAGRANT_NFSD = /sbin/nfsd restart 
  3. Cmnd_Alias VAGRANT_EXPORTS_REMOVE = /usr/bin/sed -E -e /*/ d -ibak /etc/exports 
  4. %admin ALL=(root) NOPASSWD: VAGRANT_EXPORTS_ADD, VAGRANT_NFSD, VAGRANT_EXPORTS_REMOVE 

該配置僅針對mac

總結

這類問題還是蠻常見,對于使用很久的用戶,輕松解決了,但是對于大多數使用vagrant的新手,這個問題很頭痛,可能直接導致放棄使用vagrant吧。為了不讓你放棄,我必須寫出來幫助大家渡過這道坑。


網頁題目:在Windows上使用Vagrant遇到的坑
標題鏈接:http://www.5511xx.com/article/cdscddp.html