前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mac电脑上使用Homestead进行开发

Mac电脑上使用Homestead进行开发

作者头像
美团骑手
发布2021-12-24 18:45:31
1.7K0
发布2021-12-24 18:45:31
举报
文章被收录于专栏:技术进阶技术进阶

Homestead Mac

Laravel 致力于让整个 PHP 开发体验变得愉快, 包括你的本地开发环境。 Vagrant 提供了一种简单,优雅的方式来管理和配置虚拟机。 Laravel Homestead 是一个官方预封装的 Vagrant box,它为你提供了一个完美的开发环境,而无需在本地机器安装 PHP 、Web 服务器和其他服务器软件。不用担心会搞乱你的操作系统!Vagrant boxes 是一次性的。如果出现问题,你可以在几分钟内销毁并创建 Box! Homestead 可以运行在任何 Windows,Mac,或 Linux 系统,它包括了 Nginx web 服务器, PHP 7.2,PHP 7.1,PHP 7.0,PHP 5.6, MySQL,PostgreSQL,Redis,Memcached, Node,以及开发 Laravel 应用程序所需要的东西。

VirtualBox

https://www.virtualbox.org/ VirtualBox 是 Oracle 公司的开源虚拟机软件。VirtualBox 号称是最强的免费虚拟机软件,它不仅功能齐全,而且性能也很优异!VirtualBox 支持大部分流行的系统,如:Mac, Windows, Linux 等。

Vagrant

Vagrant by HashiCorp Vagrant 是用来管理虚拟机的工具,支持当前主流的虚拟机系统如 VirtualBox、VMware、AWS 等。Vagrant 的主要作用是提供一个可配置、可移植和复用的软件环境。Vagrant 让你通过编写一个 Vagrantfile 文件来控制虚拟机的启动、虚拟机网络环境的配置、虚拟机与主机间的文件共享,以及启动后自动执行一些配置脚本,如自动执行一个 Shell Script 来安装一些必备的开发工具,如安装配置MySQL、PHP,甚至是自动配置 Nginx 站点。这意味着,在一个多人开发的项目中,你只需要同步 Vagrantfile 文件,就可以保证参与项目的每个人各自的机器上拥有一致的开发环境。 可以在下面网站上搜索需要的vagrant box https://app.vagrantup.com/boxes/search

Homestead box

Homestead是一个官方预封装的 Vagrant box,它为你提供了一个完美的开发环境,而无需在本地机器安装 PHP 、Web 服务器和其他服务器软件。不用担心会搞乱你的操作系统!Vagrant boxes 是一次性的。如果出现问题,你可以在几分钟内销毁并创建 Box!

内置软件:Ubuntu 16.04、Git、PHP 7.2、PHP 7.1、Nginx、Apache (Optional)、MySQL ……

在线安装 Homestead Vagrant Box,这样安装下载会非常慢,可以使用第二种本地文件安装方式

vagrant box add laravel/homestead

本地文件安装 先下载 离线 homestead.box ,然后执行

代码语言:javascript
复制
vagrant box add laravel/homestead ~/Desktop/homesteadvirtual5.2.box

安装 Homestead 管理脚本

clone管理脚本

代码语言:javascript
复制
git clone https://github.com/laravel/homestead.git ~/Homestead
cd Homestead

创建 Homestead.yaml 配置文件

代码语言:javascript
复制
bash init.sh

如果是本地安装的 homestead.box 版本为0,所以需要修改下面步骤生成的配置文件 /Users/xj/Homestead/scripts/homestead.rb 以下内容

代码语言:javascript
复制
config.vm.box_version = settings["version"] ||= ">= 0"

安装的box 镜像储存的位置:以我电脑为例在 /Users/xj/.vagrant.d/boxes

配置共享文件夹

Homestead.yaml 文件的 folders 属性里列出所有与 Homestead 环境共享的文件夹。这些文件夹中的文件若有变更,它们会保持本地机器与 Homestead 环境之间同步。你可以根据需要配置多个共享文件夹:

代码语言:javascript
复制
folders:

    - map: ~/Code

      to: /home/vagrant/Code

      type: nfs
  • map 对应的是我们本机的文件夹
  • to 对应的是 Homestead 上的文件夹
  • type 这样可以提升加载速度
  • SSH 秘钥登录

用于实现 SSH 免密码登录 修改 Homestead.yaml 文件以下内容: keys:

代码语言:javascript
复制
- ~/.ssh/id_rsa

- ~/.ssh/id_rsa.pub

生成 key ssh-keygen -t rsa -C "zhaohao731869706@163.com"

后面一真按enter键,设置密码

vagrant命令

启动 如果加上 --provision 选项那么添加的新站点会发布到虚拟机上。

代码语言:javascript
复制

  cd ~/Homestead && vagrant up  

关闭

代码语言:javascript
复制

  vagrant halt  

通过 SSH 登录 vagrant(需要先启动 vagrant)

代码语言:javascript
复制

  vagrant ssh  

查看目前安装的box列表

代码语言:javascript
复制

  vagrant box list  

删除box镜像

代码语言:javascript
复制

  vagrant box remove laravel/homestead  

删除指定版本

代码语言:javascript
复制

  vagrant box remove laravel/homestead --box-version 6.4.0  

查看当前 Homestead 虚拟机的状态。

代码语言:javascript
复制

  vagrant status  

通过 SSH 连接

这样就可以登录的 homestead 虚拟主机了,此地可以查看上面定义的本地目录与虚拟机目录同步的情况 vagrant ssh

配置域名

修改 /etc/hosts 文件添加如下内容。 192.168.10.10 hdcms.hd 上面定义了一个域名 hdcms.hd 指向我们的homestead服务器,在homestead.yaml文件内定义域名解析配置: sites:

代码语言:javascript
复制
- map: hdcms.hd

  to: /home/vagrant/code/hdcms

现在当我们访问 hdcms.hd 时会访问到 homestead服务器下的 /home/vagrant/code/hdcms 目录

数据库

要从主机的数据库客户端连接到 MySQL,就连接到 127.0.0.1和端口 33060 (MySQL) 。账号密码分别是 homestead/secret。 PHP程序连接(虚拟机中连接)端口为 3306

全局命令

如果我们想在任何目录都可以执行 vagrant 命令,需要进行以下设置 修改 ~/.bash_profile 文件,如果安装了 zsh 需要修改 ~/.zshrc文件 function homestead() {

代码语言:javascript
复制
( cd ~/Homestead && vagrant $* )

} 这样我们就可以使用 homestead up 等方式执行了

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-02-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Homestead Mac
  • VirtualBox
  • Vagrant
  • Homestead box
  • 安装 Homestead 管理脚本
  • clone管理脚本
  • 创建 Homestead.yaml 配置文件
  • 配置共享文件夹
  • 后面一真按enter键,设置密码
  • vagrant命令
  • 启动 如果加上 --provision 选项那么添加的新站点会发布到虚拟机上。
  • 关闭
  • 通过 SSH 登录 vagrant(需要先启动 vagrant)
  • 查看目前安装的box列表
  • 删除box镜像
  • 删除指定版本
  • 查看当前 Homestead 虚拟机的状态。
  • 通过 SSH 连接
  • 配置域名
  • 数据库
  • 全局命令
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档