使用vagrant搭载lamp环境遇到的一系列问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用vagrant搭载lamp环境遇到的一系列问题相关的知识,希望对你有一定的参考价值。

    前些天终于狠心入手了一台mba,虽然是最低配置,但还是很贵的呀!出于开发需要(我用来搭建lamp),而且我又有点系统洁癖,决定搭载vagrant来玩玩。

    

    如何搭载在网上一搜一大把,我就不重复了,我的是 vagrant 2 + ubuntu/trusty64 + virtualbox 有需要的同学戳下:

      https://segmentfault.com/a/1190000000264347

    

    下面我就说说从搭载到使用遇到的一些坑:

    

       首先关于vagrantfile这个文件,我刚开始修改这个文件执行都没问题,直到有一次修改了一点点之后vagrant reload一直报错,报错的大概内容是我所修改的那行代码没有结束标

志,由于这个文件是ruby的,我也没学过ruby,我还以为跟python有一些比较严格的要求,然后就bing去了,最后发现其实跟我修改一点卵关系都没有,然后....我就很纠结了,不是变成语法问

题,执行又报错,这把宝宝苦的呀!直到网上搜了一大堆资料,有个人提到了在语法后面保存可能会默认存在\n之类的转义字符(我之前修改文件都是在vi下),然后我就用sublime打开,果然发现

格式下有问题,之后一些删除加保存就可以了。

         

       总结:

          修改vagrantfile文件最好在ide下,一些看不见的错误vi是不会显示出来的。

 

       然后是第二个小坑,最近出于工作需要,下来个ecshop源码下来看看,安装过程比较顺利,ecshop本身的一些bug也能自行处理,直到遇到了一个问题:permission denied,其实

这不会是一个大问题,熟悉linux的人都知道出现权限问题就那么几个,要么是创建目录没给写权限,要么是项目拥有着与执行php脚本用户不一致导致的chmod无法执行(apache下修改user/

group)。我也是按照这个思路来,最后发现居然不行,包括直接vagrant ssh进虚拟机用超级用户去修改文件权限也以失败告终,然后发现一个问题,在vagrant(我的虚拟目录)下创建的文件夹

都是755且无法被修改,文件倒是可以修改权限,这把我整的不行。最后倒是想到了一个不是办法的办法,在我的宿主机下直接修改项目相关文件夹的权限(宿主机与虚拟机目录同步),但是这也有

一点小问题,这要是文件夹少还好,要是文件夹多那不是要一直sudo chmod 777 ...  最后还是找到网上一位网友的解决办法,在vagrantfile文件夹修改配置文件,具体是:

      # config.vm.synced_folder  ‘/Users/xxx/lamp‘,‘/vagrant‘, create:true, :mount_options=>[‘dmode=777‘,‘fmode=777‘]

      先把注释给去掉,第一个‘/Users/xxx/lamp‘是你的宿主机根目录 ,第二个‘/vagrant‘是虚拟主机的根目录(如果不做修改,默认是这个),第三个不用说明了,第四个就是对于跟目

录下增加一些操作,dmode就是文件夹模式,修改这个就是修改文件夹的权限 ,fmode相对应的修改的是文件的权限,然后直接保存vagrant reload就行(ps:修改vagrantfile文件要reload才会

重新读取该文件的配置)。

 

      总结:vagrant下的虚拟机与常规的虚拟机直接操作还是有一些细微的不同(除了同时操作多台虚拟机),vagrantfile这个文件里面就能找到答案。

 

-------------------------现在还在不断的使用当中,所以我会把遇到的问题继续更新^_^---------------------------------- 

          

          

以上是关于使用vagrant搭载lamp环境遇到的一系列问题的主要内容,如果未能解决你的问题,请参考以下文章

window7下使用vagrant打造lamp开发环境

window7下使用vagrant打造lamp开发环境

利用yum 安装 lamp环境搭载 cacti监控和memcached数据库

Vagrant搭建虚拟化开发环境LAMP和LNMP环境配置

vagrant系列教程:vagrant搭建redis与redis的监控程序redis-stat(转)

vagrant系列教程:vagrant搭建redis与redis的监控程序redis-stat(转)