β

使用 Homestead 搭建 PHP/Laravel 开发环境

老崔博客 26 阅读

传统我们开发 php 项目时可能会在电脑上安装集成包,如 Windows 上的 WAMP,MacOS上默认安装了 PHP,但是随着 Web 开发进入现代化,传统的开发环境已经不能满足我们日益增长的需求。

下面我们介绍使用 Laravel Homestead 来开发 Laravel 项目,Laravel Homestead 包含了以下软件:

安装 VirtualBox 和 Vagrant

首先,我们需要安装 VirtualBox 5.x or VMWare ,我这里安装的是 VirtualBox 5.1.22,我使用软件的原则是有开源免费的优秀产品,我就不会去用收费的产品。然后需要安装 Vagrant 。这两个软件都是直接下载安装就好了,和普通软件没有什么区别。

安装 Homestead Vagrant Box

安装好 VirtualBox 和 Vagrant 之后,我们打开终端,输入以下命令:

vagrant box add laravel/homestead

然后需要选择 providers,我这里使用的是 VirtualBox,所以我选: 3) virtualbox, homestead 这个过程需要几分钟,取决于你的网速。

安装 Homestead

cd ~
git clone https://github.com/laravel/homestead.git Homestead

然后进入 Homestead 目录,执行:

bash init.sh

这个命令会在 Homestead 根目录下创建一个 Homestead.yaml 配置文件。

配置项

打开 Homestead.yaml 文件

Homestead.yaml

我们可以看到刚才我们选择的 provider 出现在了 Homestead.yaml 文件里,然后 folders 字段表示我们要与 Homestead 环境分享的文件夹,这里我的是家目录下的 Code 文件夹。Sites 字段表示你配置的 Nginx 站点,当你更改好 Sites 字段,要执行 vagrant reload --provision 来使更改生效。

更改 hosts 文件

你需要把自定义的域名添加到hosts文件中,在 Mac 和 Linux 上,这个文件位于 /etc/hosts 。 Windows系统这个文件位于 C:\Windows\System32\drivers\etc\hosts 。把你配置文件中的 ip 加入到 hosts 文件中,这里也就是把下面这行加入到 hosts 文件的最后。

.168.10.10  homestead.app

启动 The Vagrant Box

编辑好 Homestead.yaml 文件后,就可以在 Homestead 目录下执行 vagrant up 来启动 Vagrant Box 了,Vagrant 会 启动虚拟机并且自动配置你分享的文件夹和 Nginx 站点。

启动后就可以通过在浏览器里进入 http://homestead.app/ 来访问你配置的站点了。

关闭虚拟机

关闭虚拟机,在 Homestead 目录下执行: vagrant halt

销毁这个虚拟机: vagrant destroy --force

多站点配置

通常我们需要配置多站点来开发不同的项目,这在 Homestead 下非常简单,打开 Homestead.yaml 文件,然后在 Sites 字段下加入你的新站点就可以了,你可以配置任意多的站点。

sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public
    - map: another.app
      to: /home/vagrant/Code/another/public

然后在 hosts 文件中加入这个新的站点。

.168.10.10  homestead.app
.168.10.10  another.app

加入新站点后, 在 Homestead 目录下执行 vagrant reload --provision

到这里后,有的同学可能会有疑问,Homestead 不是默认安装了很多软件吗?比如 Composer,那么这些软件被安装到哪里去了呢,我怎么在我电脑上看不到呢,Composer 等一众软件和环境其实都被安装到虚拟机里去了,我们在我们自己的电脑上开发项目,然后通过共享文件来实现环境和代码的结合。我们打开 VirtualBox,就可以看到 Homestead 虚拟机了。

virtualbox

这里不要在 VirtualBox 里显示该虚拟机,如果你直接打开了这个虚拟机,并且使用默认用户名密码(默认都是vagrant)登陆该虚拟机时,当你关掉窗口时,虚拟机就会休眠或关闭,这时我们的项目就无法正常访问了。

我们可以使用 ssh 来链接我们的虚拟机,方法非常简单,直接在 Homestead 目录下执行 vagrant ssh 就可以访问该虚拟机了。

homestead-ssh

我们登陆到虚拟机后,进入到相应的目录,然后执行 laravel new lartest 就可以生成一个名为 lartest 的 laravel 项目了。

然后你就可以进行项目的开发了,你可以在自己的主机里进行开发,也可以在虚拟机里进行开发,不管你在哪里开发,项目代码都是同步的。

参考文档: Laravel Homestead

作者:老崔博客
岁月如歌,代码如诗
原文地址:使用 Homestead 搭建 PHP/Laravel 开发环境, 感谢原作者分享。

发表评论