通过 Vagrant 搭建虚拟机环境(2)

你可以通过配置 hhvm 属性为 true 来让虚拟站点支持 HHVM:

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

Each site will be accessible by HTTP via port 8000 and HTTPS via port 44300.

Bash Aliases

如果要增加 Bash aliases 到你的 Homestead 封装包中,只要将内容添加到 ~/.homestead 目录最上层的 aliases 文件中即可。

启动 Vagrant 封装包

当你根据你的喜好编辑完 Homestead.yaml 后,在终端机里进入你的 Homestead 文件夹并执行 vagrant up 命令。

Vagrant 会将虚拟机开机,并且自动配置你的共享目录和 Nginx 站点。如果要移除虚拟机,可以使用 vagrant destroy --force 命令。

为了你的 Nginx 站点,别忘记在你的机器的 hosts 文件将「域名」加进去。hosts 文件会将你的本地域名的站点请求指向你的 Homestead 环境中。在 Mac 和 Linux,该文件放在 /etc/hosts。在 Windows 环境中,它被放置在 C:\Windows\System32\drivers\etc\hosts。你要加进去的内容类似如下:

192.168.10.10 homestead.app

务必确认 IP 地址与你的 Homestead.yaml 文件中的相同。一旦你将域名加进你的 hosts 文件中,你就可以通过网页浏览器访问到你的站点。

http://homestead.app

继续读下去,你会学到如何连接到数据库!

通过 SSH 连接

要通过 SSH 连接上您的 Homestead 环境,在终端机里进入你的 Homestead 目录并执行 vagrant ssh 命令。

因为你可能会经常需要通过 SSH 进入你的 Homestead 虚拟机,可以考虑在你的主要机器上创建一个"别名" 用来快速 SSH 进入 Homestead 虚拟机:

alias vm="ssh vagrant@127.0.0.1 -p 2222"

一旦你创建了这个别名,无论你在主要机器的哪个目录,都可以简单地使用 "vm" 命令来通过 SSH 进入你的 Homestead 虚拟机。

你也可以在 Homestead 目录使用 vagrant ssh 命令。

连接数据库

在 Homestead 封装包中,已经预了 MySQL 与 Postgres 两种数据库。为了更简便,Laravel 的 local 数据库配置已经默认将其配置完成。

如果想要从本机上通过 Navicat 或者 Sequel Pro 连接 MySQL 或者 Postgres 数据库,你可以连接 127.0.0.1 的端口 33060 (MySQL) 或 54320 (Postgres)。而帐号密码分别是 homestead / secret。

附注: 从本机端你应该只能使用这些非标准的连接端口来连接数据库。因为当 Laravel 运行在虚拟机时,在 Laravel 的数据库配置文件中依然是配置使用默认的 3306 及 5432 连接端口。

增加更多的站点

在 Homestead 环境上架且运行后,你可能会需要为 Laravel 应用程序增加更多的 Nginx 站点。你可以在单一个 Homestead 环境中运行非常多 Laravel 安装程序。有两种方式可以达成:第一种,在 Homestead.yaml 文件中增加站点然后在 Homestead 目录中执行 vagrant provision。

Note: 这个操作是具有破坏性的,当执行 provision 命令,你现有的数据库会被摧毁并重新创建。

另外,也可以使用存放在 Homestead 环境中的 serve 命令文件。要使用 serve 命令文件,请先 SSH 进入 Homestead 环境中,并执行下列命令:

serve domain.app /home/vagrant/Code/path/to/public/directory 80

附注: 在执行 serve 命令过后,别忘记将新的站点加进本机的 hosts 文件中。

以下的端口将会被转发至 Homestead 环境:

SSH: 2222 → Forwards To 22

HTTP: 8000 → Forwards To 80

HTTPS: 44300 → Forwards To 443

MySQL: 33060 → Forwards To 3306

Postgres: 54320 → Forwards To 5432

增加额外端口

你也可以自定义转发额外的端口至 Vagrant box,只需要指定协议:

ports: - send: 93000 to: 9300 - send: 7777 to: 777 protocol: udp

Blackfire Profiler 是由 SensioLabs 创建的一个分析工具,它会自动的收集代码执行期间的相关数据,比如 RAM, CPU time, 和 disk I/O. 如果你使用 Homestead ,那么使用这个分析工具会变得非常简单。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/107a334d9142d5bbea1af0c257d63801.html