Windows下使用 Hyper-V + Vagrant 搭建Laravel Homestead 环境

Windows下使用 Hyper-V + Vagrant 搭建Laravel Homestead 环境

简介

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 所需要的东西。

安装Hyper-V
https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v
// 官方文档
1. 管理员身份打开PowerShell
2. 运行下面的命令:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
// 如果运行命令报错, 查看是否是管理员身份打开的PowerShell

安装完成后Windows会重新启动

使用CMD和DISM启用Hyper-V
1. 以管理员身份打开PowerShell或CMD会话。
2. 运行下面的命令:
DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V

有关DISM的详细信息,请参阅DISM技术参考。

安装vagrant
https://www.vagrantup.com/downloads.html

选择Windows对应的版本

安装Homestead Vagrant Box
1. 运行下面的命令:
vagrant box add laravel/homestead

下载homestead需要花费一点时间
如果命令运行失败,请检查是否为最新的Vagrant

2. 安装Homestead

从git上clone Homestead

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

master 分支可能不稳定,可以通过查看Realease Page切换分支

cd Homestead
git checkout v7.18.0
3. 初始化Homestead

进入 Homestead 文件夹下运行init.bat,创建配置文件Homestead.yaml

init.bat

也可以直接双击init.bat运行

Homestead.ymal配置及详解

---
ip: "192.168.10.10"  					   # 虚拟机的地址
memory: 2048						       # 分配内存
cpus: 1								       # 分配CPU
provider: hyperv  					       # 使用的虚拟机, 我们这里配置为hyperv
 
authorize: ~/.ssh/id_rsa.pub               # ssh的公钥

keys:
    - ~/.ssh/id_rsa                        # ssh的私钥,配置了ssh以后,登录虚拟机可以直接在终端输入homestead ssh进入

folders:  #设置文件夹机映射关系
    - map: D:/laravel                      # 需要映射到虚拟机的本地机器的文件夹
      to: /home/vagrant/code               # 需要映射到虚拟机中哪个的文件夹
    
sites:  #设置域名和网站的映射关系
    - map: homestead.test                  # 网站域名
      to: /home/vagrant/code/blog/public   # Laravel项目对应index.php的位置,以虚拟机的路径表示

必须将Nginx站点的“域”添加到计算机上的hosts文件中。该hosts文件会将你的Homestead站点的请求重定向到您的Homestead虚拟机

hosts文件位置 : C:\Windows\System32\drivers\etc\hosts 将下面内容复制进去即可

192.168.10.10  homestead.test
启动项目
1. 在Homestead目录下用管理员身份运行命令启动Vagrant
vagrant up

vagrant会根据Homestead.yaml中的配置创建好对应的文件夹
p.s. vagrant up 时运行到smb相关配置需要输入用户名密码,输入Windows的用户名密码即可

2. 在Vagrant中建立Laravel项目

运行如下命令进入虚拟机

vagrant ssh

p.s. Vagrant 默认用户名密码为: vagrant/vagrant

进入前面配置好的文件夹(/home/vagrant/code)运行如下命令创建Laravel项目

composer create-project --prefer-dist laravel/laravel blog

启动之后,就可以在浏览器中通过 http://homestead.test 访问 Laravel 应用了

========================================================

如果出现No input file specified,去/var/log/ngnix/project_name_error.log 中查看错误出在那里,一般情况是路径错误
修改配置文件 /etc/nginx/sites-enable/homestead.test

sudo vim homestead.test

修改之后记得使用命令重启Nginx服务

sudo service nginx restart
快速上手

只需要在新安装的 Laravel 应用下运行
php artisan make:authphp artisan migrate,这两个命令就会生成用户登录注册所需要的所有东西,然后在浏览器中访问 http://homestead.test/register 即可。

:)

你可能感兴趣的:(PHP)