充气应修改为重启
lvjie1996
3年前
修改理由:
相关信息:
- 类型:文档文章
- 文章: Homestead
- 文档: 《Laravel 8 中文文档(8.x)》
此投稿已在 3年前 合并。
内容修改:
Old | New | Differences |
---|---|---|
1 | ||
2 | 1 | # Laravel Homestead |
3 | 2 | |
4 | 3 | - [介绍](#introduction) | … | … |
47 | 46 | |
48 | 47 | > 注意:如果你使用的是 Windows,你可能需要启用硬件虚拟化(VT-x)。该功能通常需要通过您的 BIOS 启用。如果您在 UEFI 系统上使用 Hyper-V,则可能还需要禁用 Hyper-V 才能访问 VT-x。 |
49 | 48 | |
50 | ||
51 | ||
49 | ||
50 | ||
52 | 51 | <a name="included-software"></a> |
53 | 52 | ### 内置软件 |
54 | 53 | … | … |
136 | 135 | |
137 | 136 | 若要使用 VMware 提供器,你需要购买 VMware Fusion / Workstation 和 [VMware Vagrant plug-in](https://www.vagrantup.com/vmware)。 虽然它不是免费的,但是 VMware 可以提供更快的共享文件夹性能。 |
138 | 137 | |
139 | ||
140 | ||
138 | ||
139 | ||
141 | 140 | 若要使用 Parallels 提供器,你需要安装免费的 [Parallels Vagrant plug-in](https://github.com/Parallels/vagrant-parallels)。 |
142 | 141 | |
143 | 142 | 由于 [Vagrant 的限制](https://www.vagrantup.com/docs/hyperv/limitations.html),Hyper-V 提供器会忽略所有的网络设置。 | … | … |
164 | 163 | |
165 | 164 | git checkout release |
166 | 165 | |
167 | ||
168 | ||
166 | ||
167 | ||
169 | 168 | 一旦你克隆了 Homestead 仓库,您可以运行 `bash init.sh` 命令以创建 `Homestead.yaml` 配置文件。`Homestead.yaml` 将会置于 Homestead 目录中: |
170 | 169 | |
171 | 170 | // Mac / Linux... | … | … |
204 | 203 | |
205 | 204 | > 注意:你不应该在使用 Homestead 的时候挂载 `.` (当前目录)。此举会导致 Vagrant 不会将当前文件夹映射到 `/vagrant`,并且在配置的时候可能会导致意外情况发生。 |
206 | 205 | |
207 | ||
208 | ||
206 | ||
207 | ||
209 | 208 | 要启用 [NFS](https://www.vagrantup.com/docs/synced-folders/nfs.html) ,您只需要在共享文件夹配置中添加一个简单的标识: |
210 | 209 | |
211 | 210 | folders: | … | … |
237 | 236 | |
238 | 237 | > 注意:Homestead 脚本设计时,尽可能保持操作的幂等。当然,如果你在 provisioning 过程中遇到了问题,您可以通过 `vagrant destroy && vagrant up` 销毁和重构虚拟机。 |
239 | 238 | |
240 | ||
241 | ||
239 | ||
240 | ||
242 | 241 | #### 启用/禁用服务 |
243 | 242 | |
244 | 243 | 默认情况下,Homestead 启动了许多服务;当然,你可以在启动过程中自行指定要启用和禁用的服务。例如,你可以启用 PostgreSQL 禁用 MySQL: | … | … |
264 | 263 | |
265 | 264 | http://homestead.test |
266 | 265 | |
267 | ||
268 | ||
266 | ||
267 | ||
269 | 268 | <a name="launching-the-vagrant-box"></a> |
270 | 269 | ### 启动 Vagrant Box |
271 | 270 | … | … |
329 | 328 | - solr: true |
330 | 329 | - webdriver: true |
331 | 330 | |
332 | ||
333 | ||
331 | ||
332 | ||
334 | 333 | #### MariaDB |
335 | 334 | |
336 | 335 | 启用 MariaDB 将会移除 MySQL 并安装 MariaDB。MariaDB 是 MySQL 的替代品,完全兼容 MySQL,所以在应用的数据库配置中你仍然可以使用 mysql 驱动。 | … | … |
362 | 361 | |
363 | 362 | ### Accessing Homestead Globally |
364 | 363 | |
365 | ||
366 | ||
364 | ||
365 | ||
367 | 366 | 有时你可能想在文件系统的任意路径都能运行 `vagrant up` 命令启动 Homestead 虚拟机。在 Mac / Linux 系统上可以在 Bash 配置文件( ~/.bash_profile )中添加 Bash 函数 。在 Windows 上, 你可以添加「批处理」文件到 `PATH` 。这些脚本允许你在系统的任何位置运行 Vagrant 命令并自动将该命令指向 Homestead 的安装路径: |
368 | 367 | |
369 | 368 | #### Mac / Linux | … | … |
397 | 396 | |
398 | 397 | 但是,你可能需要频繁连接 Homestead 虚拟机,因此请考虑将上面的「函数」添加到主机以便快速地以 SSH 方式连接到 Homestead 虚拟机。 |
399 | 398 | |
400 | ||
401 | ||
399 | ||
400 | ||
402 | 401 | ### 连接数据库 |
403 | 402 | |
404 | 403 | `homestead` 默认已经在虚拟机中为 MySQL 和 PostgreSQL 数据库做好了配置。要从主机的数据库客户端连接到 MySQL 或 PostgreSQL ,应该连接到 `127.0.0.1` ,端口 `33060` (MySQL) 或 `54320` (PostgreSQL)。用户名和密码分别是 `homestead` / `secret` 。 | … | … |
419 | 418 | |
420 | 419 | Homestead 支持保存 MySQL 和 MariaDB 数据库的状态并通过 [Logical MySQL Manager](https://github.com/Lullabot/lmm) 在不同状态间进行切换。例如,假设你的站点数据库有几个 G 的数据量,你可以导入这个数据库并保存一份快照,在本地工作一段时间后有可能会创建一些新的测试内容,你可以通过快照快速恢复到最初的状态。 |
421 | 420 | |
422 | ||
423 | ||
421 | ||
422 | ||
424 | 423 | 在底层,LMM 使用了 LVM 的支持写时复制的瘦快照功能,这意味着当修改表中某条记录时,只会将你所做的更改写入磁盘,从而在恢复期节省大量时间和磁盘空间。 |
425 | 424 | |
426 | 425 | 由于 `lmm` 会与 LVM 进行交互,所以必须以 `root` 身份运行。要了解所有命令,可以在 Homestead 虚拟机中通过 `sudo lmm` 查看。常见的工作流会是这样: | … | … |
457 | 456 | to: /home/vagrant/my-symfony-project/web |
458 | 457 | type: "symfony2" |
459 | 458 | |
460 | ||
461 | ||
459 | ||
460 | ||
462 | 461 | 可用的站点类型是:`apache`,`apigility`,`expressive`,`laravel`(默认),`proxy`,`silverstripe`,`statamic`,`symfony2`,`symfony4`,和 `zf`。 |
463 | 462 | |
464 | 463 | #### 站点参数 | … | … |
501 | 500 | |
502 | 501 | ### 配置 Cron 定时计划 |
503 | 502 | |
504 | ||
505 | ||
503 | ||
504 | ||
506 | 505 | Laravel 提供了一种很方便的设置 [定时计划作业](/docs/laravel/8.x/scheduling) 的方式,只需每分钟运行一次 `schedule:run` Artisan 命令。`scheduler:run` 命令将根据您在 `App\Console\Kernel` 类中定义的计划来决定运行哪个作业。 |
507 | 506 | |
508 | 507 | 如果您想要在 Homestead 站点中运行 `schedule:run` 命令,可在定义站点是将 `schedule` 选项置为 `true` : | … | … |
537 | 536 | |
538 | 537 | 默认情况下,Minio 使用 `9600` 端口。您可以通过 `http://localhost:9600/` 访问 Minio 控制面板。默认的 access key 是 `homestead`,secret key 是 `secretkey`。当访问 Minio 时,您应该使用 `us-east-1` 区域。 |
539 | 538 | |
540 | ||
541 | ||
539 | ||
540 | ||
542 | 541 | 要使用 Minio ,您需要调整 `config/filesystems.php` 配置文件中的 S3 存储配置。您只需要在 存储配置中添加 `use_path_style_endpoint` 选项,并将 `url` 修改为 `endpoint` 。 |
543 | 542 | |
544 | 543 | 's3' => [ | … | … |
601 | 600 | |
602 | 601 | 有时,您可能希望跟您的同事共享您的工作内容。Vagrant 内置了一个通过 `vagrant share` 的方法实现之;但是,若您在 `Homestead.yaml` 文件中配置了多站点则无法正常工作。 |
603 | 602 | |
604 | ||
605 | ||
603 | ||
604 | ||
606 | 605 | 要解决这个问题,Homestead 包含了自己的 `share` 命令。通过 `vagrant ssh` 进入到您的 Homestead 机器,然后运行 `share homestead.test` 以实现之。这将从您的 `Homestead.yaml` 配置文件共享 `homestead.test` 站点。 您可以用其他已经配置过的站点代替 `homestead.test` : |
607 | 606 | |
608 | 607 | share homestead.test | … | … |
648 | 647 | |
649 | 648 | flip |
650 | 649 | |
651 | ||
652 | ||
650 | ||
651 | ||
653 | 652 | <a name="mail"></a> |
654 | 653 | ### 邮件 |
655 | 654 | … | … |
665 | 664 | |
666 | 665 | 默认情况下,Xdebug 已经运行并且准备好了接受请求。若您想要在 CLI 中启用 Xdebug ,请在您的 Vagrant box 中运行 `sudo phpenmod xdebug` 命令。接下来,按照 IDE 的指示以启动调试。最后,可通过浏览器扩展或 [bookmarklet](https://www.jetbrains.com/phpstorm/marklets/) 配置浏览器🛫 Xdebug 。 |
667 | 666 | |
668 | > 注意:Xdebug 将会导致 PHP 运行缓慢。要禁用 Xdebug ,请在您的 Vagrant box 中运行 `sudo phpdismod xdebug` 命令并 | |
667 | > 注意:Xdebug 将会导致 PHP 运行缓慢。要禁用 Xdebug ,请在您的 Vagrant box 中运行 `sudo phpdismod xdebug` 命令并重启 FPM 服务。 | |
669 | 668 | |
670 | 669 | <a name="debugging-cli-applications"></a> |
671 | 670 | ### 调试 CLI 应用 | … | … |
682 | 681 | xdebug.remote_host = 192.168.10.1 |
683 | 682 | xdebug.remote_autostart = 1 |
684 | 683 | |
685 | ||
686 | ||
684 | ||
685 | ||
687 | 686 | <a name="profiling-applications-with-blackfire"></a> |
688 | 687 | ### 使用 Backfire 进行应用分析 |
689 | 688 | … | … |
717 | 716 | |
718 | 717 | 要分析一个 Web 请求,可以在请求中添加一个 `xhgui=on` 的参数以实现之。 XHGui 会自动添加 cookie 到响应中,之后的请求便不再需要添加请求参数。您可以在 `http://your-site.test/xhgui` 中查看您的应用的分析结果。 |
719 | 718 | |
720 | ||
721 | ||
719 | ||
720 | ||
722 | 721 | 要使用 XHGui 分析一个 CLI 请求,请在命令前加上 `XHGUI=on`: |
723 | 722 | |
724 | 723 | XHGUI=on path/to/script | … | … |
763 | 762 | -o Dpkg::Options::="--force-confold" \ |
764 | 763 | install your-package |
765 | 764 | |
766 | ||
767 | ||
765 | ||
766 | ||
768 | 767 | ### 用户自定义 |
769 | 768 | |
770 | 769 | 在团队环境中使用 Homestead 时,你可能想要调整 Homestead 以便更好地适应你自己喜好的个人开发风格,这可以通过在 `Homestead` 根目录下创建 `user-customizations.sh` 文件来完成,在这个文件中,你可以做一些自己喜欢的定制化工作;不过,注意不要把 `user-customizations.sh` 文件提交到代码仓库中。 | … | … |
799 | 798 | // Windows... |
800 | 799 | init.bat |
801 | 800 | |
802 | ||
803 | ||
801 | ||
802 | ||
804 | 803 | 最后,你需要重新生成 Homestead 盒子来使用最新配置的 Vagrant: |
805 | 804 | |
806 | 805 | vagrant up | … | … |
825 | 824 | config.vm.provider "virtualbox" do |v| |
826 | 825 | v.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"] |
827 | 826 | end |
827 | ||
828 | 828 | |
829 |