如果是工程开发,走正规军路线建议使用Homestead。下载流浪者。这里官方下载地址是Windows版的安装包。直接点击安装,安装过程中可以自定义安装路径。Windows+r启动cmd,输入vagrant-v验证是否安装成功,如果出现版本信息则表示成功。注意:如果您使用的是Windows,则需要启用系统的硬件虚拟化(VT-x),通常可以通过BIOS启用。如果您在UEFI系统上使用Hyper-V,则需要关闭Hyper-V才能访问VT-x。预装软件Homestead可以运行在Windows、Mac、Linux等主流操作系统上。预装的软件和工具列表如下:Ubuntu16.04GitPHP7.2PHP7.1PHP7.0PHP5.6NginxApache(可选)MySQLMariaDB(可选)SQLite3PostgresSQLComposerNode(WithYarn,Bower,Grunt,andGulp)RedisMemcachedBeanstalkdMailhogElasticsearch(可选)ngrok1。预安装在使用Homestead之前,您需要安装VirtualBox和Vagrant。所有这些软件包都为常见操作系统提供了易于使用的可视化安装程序。通过安装界面引导完成安装。2、安装Vagrantbox注意:Laravel官方推荐的shell是GitBash。因为GitBash会自动将~(波浪号)映射到用户根目录(例如C:\Users\MyUserName),如果使用Windows自带的cmd,则需要使用%HOMEDRIVE%%HOMEPATH%环境变量进入正确的文件夹。VirtualBox和Vagrant安装完成后,在终端中使用以下命令将HomesteadVagrantboxlaravel/homesterad添加到Vagrant中。vagrantboxaddlaravel/homestead选择virtualbox选项并等待下载。时间取决于网络。如果上述命令失败,需要确认Vagrant是否是最新版本。网络或机器关机中断后报Failedtoconnecttovagrantcloud-files-production.s3.amazonaws.comport443:Timedout等错误。还有解压错误等等。可能和网络有关,多试几次就成功了(可以用管理员打开cmd试试)。国内网络就这样了,不行的话就手动下载吧。xubuntu-16.04-amd64-disk001.vmdk:gzip解压缩失败bsdtar.EXE:错误退出因之前的错误而延迟。使用vagrantboxlist命令确认是否安装了box。也可以选择手动下载安装,laravel/homesteadbox下载地址vagrantcloud下载地址,https://app.vagrantup.com/laravel/boxes/homestead/versions/5.2.0/providers/virtualbox.box如果你如需下载不同版本(或最新版本),请将上述地址中versions/后面的数字版本号替换为对应的版本号。下载后重命名为virtualbox.box,并放置在与virtualbox.box相同的目录下。执行vagrantboxaddlaravel/homestead~/Downloads/virtualbox.box添加。下面的~/Downloads/virtualbox.box是文件存放路径。Vagrant2.0.3有问题,报Invalidfile://hostname/,expectedlocalhostor127.0.0.1ornone。3.安装Homestead选择任意目录作为Homestead目录。例如:F:,在该目录下执行clonegitclonehttps://github.com/laravel/homestead.gitHomestead或者下载压缩包GitHub路径然后进入克隆目录cdHomestead///Mac/Linux...bashinit.sh//Windows...init.bat在Homestead目录下运行init.bat命令创建Homestead.yaml配置文件。生成的Homestead.yaml配置文件位于当前Homestead目录下。如果gitBase执行bashinit.sh。完成后会生成Homestead.yaml和Vagrantfile。---#`Homestead.yaml`配置文件:#虚拟机ipip:"192.168.10.10"#虚拟机使用内存memory:2048#虚拟机使用单核CPUcpus:1#Vagrantproviderprovider:virtualbox#Publicsshkeyauthorize:~/.ssh/id_rsa.pub#privatesshkeykeys:-~/.ssh/id_rsa#sharedfolderfolders:-map:~/codeto:/home/vagrant/code#siteconfigurationsites:-map:homestead.测试到:/home/vagrant/code/public#databasenamedatabases:-homestead#blackfire:#-id:foo#token:bar#client-id:foo#client-token:bar#portforwarding#ports:#-send:50000#to:5000#-send:7777#to:777#protocol:udpvariables:-key:APP_ENVvalue:local如果站点在配置Homesteadbox后更改属性,你应该重新运行以更新Nginx配置,vagrantreload--provision修改本地主机文件:在Mac或Linux上,该文件位于/etc/hosts,在Windows上,它位于C:\Windows\System32\drivers\etc\hosts。与配置文件中的ip一致192.168.10.10homestead.test在Homestead目录下运行vagrantup命令启动这个提示是ip冲突,换ip即可。手动下载的,执行vagrantup的时候还是提示找不到。这是因为手动引入的box版本问题的解决方法是进入Homestead/scripts下的homestead.rb文件,进行如下修改。vagrantreload--provision重新启动。然后执行vagrantup,会有一个初始化过程vagrantstatus,可以查看第一次启动时的状态。运行状态启动成功。4、相关管理命令vagrantup:启动虚拟机vagranthalt:关闭虚拟机vagrantreload--provisionrestartvagrantsuspend:暂停虚拟机,即suspendvagrantresume:恢复虚拟机vagrantboxremovexx:remove框,其中xx是框名vagrantdestroy:删除虚拟机5.SSH登录从vagrantup启动界面可以看到ssh登录地址和端口:默认账号密码为:vagrant。使用ssh登录工具登录。6.连接mysql需要通过本地的Navicat或者SequelPro连接到Homestead上的MySQL或者Postgres数据库,可以通过新建连接来实现。主机IP为127.0.0.1。对于MySQL,端口号是33060,对于Postgres,也就是说,端口号是54320,用户名/密码是homestead/secret7。php扩展安装在vagrantbox上。下面以安装MongoDB扩展为例:1.先安装mongodb数据库`apt-getupdate`更新源,也无法更新,包的新老问题sudoapt-getinstall-ymongodb2.安装mongodbextensionpeclupdatechannelupgrade`sudopeclchannel-update`peclinstallmongodb`对于php7以上的版本,默认修改最新的配置文件。特别注意,vagrant中有两个地方需要修改,否则会出现php-m和phpinfo()打印不一致的情况。*`sudovim/etc/php/7.2/fpm/php.ini`第一处*`sudovim/etc/php/7.2/cli/php.ini`在第二处添加extension=mongodb.so。然后重启php-fpm。执行命令:sudoservicephp7.2-fpmrestart这样可以通过php-m和phpinfo()输出结果,显示一致。vagrant中有很多版本,可以通过ll/etc/alternatives/php查看默认版本。
