Laravel实战笔记(四) 完美的开发环境之Homestead的安装 (完结)

原创 木鱼  2017-08-02 07:30  阅读 526 次

VirtualBox 

不会安装VirtualBox的同学,可以看一下上篇文章:

Laravel实战笔记(三) 完美的开发环境之Homestead的安装 (VirtualBox篇)

上节里,已经安装好VirtualBox了,需要注意的是,VirtualBox规定,想打开软件还是必须要图形界面,就是说命令行里,输入命令“VirtualBox”是打不开的,但是在图形界面里,VirtualBox会自动弹框打开。

下载Vagrant

然后呢,我们需要安装下载vagrant,下载地址:官网下载

安装vagrant

vagrant其实安装就太简单了,直接在安装包所在的目录,输入命令:

# rpm -ivh 安装包全名

我们可以输入命令查看是否安装:

# vagrant -v
Vagrant 1.9

显示版本号就证明安装成功了~

安装Homestead Vagrant box

vagrant box,可以理解为,一个已经安装配置好环境的一个系统,然后把他打包起来。

同理homestead vagrant box就是laravel制作的,把所有laravel要使用的php扩展、mysql、nginx、redis什么的一堆乱七八糟的安装配置好,然后打包成一个盒子,提供给大家使用。

安装下载box
# vagrant box add laravel/homestead

如果上面的命令运行失败,代表你使用的可能是旧版的 Vagrant,需要在命令行后补上下载包的完整 URL:
# vagrant box add laravel/homestead https://atlas.hashicorp.com/laravel/boxes/homestead

 

如果上面的你都无法下载,应该就是GFW的问题了,你可以去看看laravel中国官网推荐的一篇文章:

Homestead 安装需要知道的一些信息

 

安装Homestead

安装homestead,可以用git安装,可以用composer安装,本文采取的是git安装,毕竟composer依赖于php。

git的安装方法太多了,说个最简单的吧:

# yum install git

 下载克隆Homestead:

# git clone https://github.com/laravel/homestead.git Homestead

把代码克隆到Homestead后,我们进入Homestead文件夹,初始化创建配置文件

# bash init.sh
Homestead initialized!

值的一提的是,官网说bash init.sh后,会生成Homestead.yaml 文件放置在你的 ~/.homestead 目录中,但是最新的版本里,并不会创建到~/.homestead目录里。直接在Homestead目录里修改就行,这应该是文档忘记修改了。

 

配置Homestead

Homestead.yaml文件中进行配置修改。

参数:folders

1、map后面的路径填写项目的路径,比如我的项目在/home/www目录中,map后面就修改为:/home/www

2、to后面是虚拟机里映射到的目录地址,不明白的话默认即可

参数:sites

1、map后面放的是域名,可以任意修改,但是记得修改hosts文件进行本地DNS映射

2、to后面放的是项目的入口文件地址, 比如我原项目的地址是/home/www,index.php入口文件在/home/www/public/index.php。 folders参数下面的to参数的值是:~/Code,那我们sites参数下面的to参数的值修改为~/Code/public即可。

 

但是提一点,博主本人在win10电脑上测试(linux没试), folders -> to后面用 ~/Code是可以的, 但是sites -> to后面用~/Code不可以,我们可以把他修改成/root/Code/public。 (root账号为例)

 

启动homestead

进入Homestead目录,运行命令
# vagrant up

等待启动成功即可。

然后我们配置好hosts,在命令行输入http://homestead.app即可访问到我们的项目了。

如果提示:

Check your Homestead.yaml file, the path to your private key does not exist.

就需要生产SSH秘钥,生成步骤可以查看: Git SSH Key 生成步骤

 

如果运行了很久,提示错误:

Timed out while waiting for the machine to boot. This means that

Vagrant was unable to communicate with the guest machine within

the configured ("config.vm.boot_timeout" value) time period.

If you look above, you should be able to see the error(s) that

Vagrant had when attempting to connect to the machine. These errors

are usually good hints as to what may be wrong.

If you're using a custom box, make sure that networking is properly

working and you're able to connect to the machine. It is a common

problem that networking isn't setup properly in these boxes.

Verify that authentication configurations are also setup properly,

as well.

If the box appears to be booting properly, you may want to increase

the timeout ("config.vm.boot_timeout") value.

 

  

我们需要切换到图形界面,设置一下VirtualBox。

在图形界的终端
# VirtualBox

自动弹出VirtualBox后,设置如下图

该答案原地址:https://stackoverflow.com/questions/23690124/vagrant-up-timeout/41468176#41468176

 

还有一种原因,就是在虚拟主机里面配置homestead,等同于虚拟主机里面安装虚拟主机,错误原因应该就是内存分配不足,导致虚拟主机里面的虚拟主机很多功能失效,VT-x之类的,这个的解决方法就是配置虚拟主机的时候分配内存大一点就行,博主也出现过这个问题,经查看百分之99应该就是这个原因。博主的渣渣电脑... 就不再测试了。 大内存的兄弟们可以去试一试。

结果

本文地址:https://www.m5yu.com/laravel-install-homestead.html
关注我们:请关注一下我们的微信公众号:扫描二维码,公众号:木鱼博客
版权声明:本文为原创文章,版权归 木鱼 所有,欢迎分享本文,转载请保留出处!

发表评论


  1. 板式家具生产线
    板式家具生产线 【农民】 @回复

    您好,您的网站做的很不错,很漂亮,我已经收藏了,方便我随时访问.

  2. 二次元空间
    二次元空间 【农民】 @回复

    谢谢博主无私的分享好东西,留言支持下,欢迎回访我的网站,如果觉得我的网站不错的话能否交换个友链