欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

laravel环境配置

程序员文章站 2022-03-13 12:48:36
...

laravel生态圈

Vagrant

Vagrant可以很好的帮我们管理虚拟机,一句话介绍 开发环境变得简单

官网

要先安装 VirtualBox 6.x, 下载地址: VirtualBox下载

接着安装 Vagrant, 下载地址 下载地址 Vagrant下载

下载好对应系统的软件, 双击安装, 一路下一步即可, 安装完成之后, 重启电脑
安装完成之后, 检查一下是否安装完成, cmd 中运行:

  1. vagrant -v

Box地址

cmd 执行命令,添加远程BOX

  1. vagrant box add laravel/homestead

添加本地BOX

  1. vagrant box add laravel/homestead ./???.box

安装 Homestead

Homestead Git 地址

官网文档

考虑掉有不会使用Git的, 所以这里就不使用 Git 克隆了, 你可以点击这里直接下载

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

切换到最新的稳定版

  1. cd ~/Homestead
  2. git checkout release

cmd 中进入到这个目录, 执行 init.bat 命令以创建 Homestead.yaml 配置文件。Homestead.yaml 将会置于 Homestead 目录中:

  1. // macOS / Linux...
  2. bash init.sh
  3. // Windows...
  4. init.bat

修改配置文件

修改版本号, 之前现在的box可能和这里需要的版本号不一致

首先查看版本号:

  1. vagrant box list

修改 ~/Homestead/script/homestead.rb 配置文件, 找到 config.vm.box_version = settings['version'] ||= '>= 11.0.0, < 12.0.0', 改为:

  1. config.vm.box_version = settings['version'] ||= '>= 0.0.0, < 12.0.0

配置共享文件夹, 在桌面创建 workspack 目录, 用于我们的工程目录, 设置 wokspace 同步到虚拟机中的 /home/vagrant/code目录:

Windows 用户不应使用~/路径语法,而应使用其项目的完整路径,例如C:\Users\user\Code\project1

  1. folders:
  2. - map: C:\Users\m1339\Desktop\project1\
  3. to: /home/vagrant/code

Mac用户

  1. folders:
  2. - map: ~/wokspace/project1
  3. to: /home/vagrant/code

您应该始终将单个应用程序映射到它们自己的文件夹,而不是映射包含所有应用程序的单个大目录。映射文件夹时,虚拟机保持跟踪文件夹中 每一个 文件的所有磁盘 IO。当文件夹中有大量文件时,此举可能影响性能。

  1. folders:
  2. - map: ~/code/project1
  3. to: /home/vagrant/project1
  4. - map: ~/code/project2
  5. to: /home/vagrant/project2

共享文件夹是为了将你本机的某个文件夹里面的代码, 同步到虚拟机中的某个目录

配置 Nginx 站点:

sites 属性将允许您轻松的将「域名」映射到 Homstead 环境中的目录中去。Homestead.yaml 中包含了一个简单的站点配置。同样,您可以按需添加许多站点到您的 Homestead 环境中。

  1. sites:
  2. - map: blog.test
  3. to: /home/vagrant/code/blog

如果您在启动了 Homestead box 后修改了 site 属性,您需要再次运行 vagrant reload --provision 命令以更新虚拟机中的 Nginx 配置

域名解析:

修改 C:\Windows\System32\drivers\etc\hosts 。添加到 hosts 文件中的记录如下:

  1. 192.168.10.10 laravel.test

ip 为 Homestead.yaml 中配置的ip,如果你是Mac用户你可以使用sudo vim /etc/hosts修改hosts。

生成公钥和私钥

公钥和私钥是本机和虚拟机认证的默认方式, 下面的配置使用了家目录下.ssh目录中的公钥和私钥:

  1. authorize: ~/.ssh/id_rsa.pub
  2. keys:
  3. - ~/.ssh/id_rsa

如果您的家目录,没有这个目录, 或者这个目录中没有公钥和私钥, 可以使用命令进行创建, 打开CMD命令行,执行:

  1. ssh-keygen

一直回车即可

完整配置参考

  1. ---
  2. ip: "192.168.10.10"
  3. memory: 2048
  4. cpus: 2
  5. provider: virtualbox
  6. authorize: ~/.ssh/id_rsa.pub
  7. keys:
  8. - ~/.ssh/id_rsa
  9. folders:
  10. - map: C:\Users\m1339\Desktop\wokspace\blog
  11. to: /home/vagrant/code/blog
  12. sites:
  13. - map: blog.test
  14. to: /home/vagrant/code/blog/public
  15. databases:
  16. - homestead
  17. features:
  18. - mysql: false
  19. - mariadb: false
  20. - ohmyzsh: false
  21. - webdriver: false
  22. # ports:
  23. # - send: 50000
  24. # to: 5000
  25. # - send: 7777
  26. # to: 777
  27. # protocol: udp

启动 Vagrant Box

启动命令为, 在 Homestead 目录下执行 cmd 命令:

  1. vagrant up

在启动动的过程中, 会进行公钥和私钥的认证, 请确保你已在家目录中的 .ssh 生成了私钥和公钥

刷新配置

如果你在 vagrant 的运行中, 修改配置, 需要在 Homestead 目录中刷新配置:

  1. vagrant reload --provision

默认的一些用户

默认的Linux用户:

  1. UserName: vagrant
  2. Password: vagrant

默认的数据库用户:

  1. UserName: homestead
  2. Password: secret

ssh连接到虚拟机

执行 cmd 命令:

  1. vagrant ssh

关闭虚拟机

如果暂时不用这个虚拟机了, 可以关闭虚拟机:

  1. vagrant halt

销毁虚拟机

如果不需要这个虚拟机了, 或者这个虚拟机出现了很大的问题, 可以销毁虚拟机, 执行 cmd 命令:

  1. vagrant destroy --force

改命令会销毁虚拟机, 慎用

如果还要用, 可以重新构建:

  1. vagrant up

Vagrant 常用命令

  • vagrant box list 查看目前已有的box
  • vagrant box add 新增加一个box
  • vagrant box remove 删除指定box
  • vagrant init 初始化配置vagrantfile
  • vagrant up 启动虚拟机
  • vagrant ssh ssh登录虚拟机
  • vagrant suspend 挂起虚拟机
  • vagrant reload 重启虚拟机
  • vagrant halt 关闭虚拟机
  • vagrant status 查看虚拟机状态
  • vagrant destroy 删除虚拟机

安装Lavavel并运行

终端连接进入服务器, 更换composer国内源:

  1. composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
  2. composer clear-cache # 此步奏选择性操作,清除所有 package 缓存。

进入 /home/vagrant/code目录,安装laravel:

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

修改代码同步目录,和站点设置, 修改~/Homestead/homestead.yaml:

  1. folders:
  2. - map: C:\Users\yourUser\Desktop\workspace\blog
  3. to: /home/vagrant/code/blog
  4. sites:
  5. - map: blog.test
  6. to: /home/vagrant/code/blog/public

退出服务器, 在本机cmd重启vagrant并刷新配置, 终端要在Homestead目录:

  1. vagrant reload --provision

修改本机host文件, ip为homestead.yam里面配置的ip:

  1. 192.168.10.10 blog.test

浏览器测试:

  1. http://blog.test

附: 彻底删除box

销毁虚拟机, 终端在Homestead目录:

  1. vagrant destory --force

不一定能删干净,要彻底删除,去删除C:\Users\yourUser\VirtualBox VMs目录里面的homestead目录

删除box:

  1. vagrant box list
  2. vagrant box remove boxName

boxName 是你 vagrant box list 看到的名字