Учебное пособие по Laravel (1): установка и использование Homestead

Laravel
Учебное пособие по Laravel (1): установка и использование Homestead

способ установки виндовс

Онлайн-установка

адрес загрузки бокса:бродячее облако.com/pull-ravel/exploit…

vagrant box add laravel/homestead

Вам будет предложено четыре варианта на выбор. Здесь мы используем поле выбора, чтобы выбрать 3

  1. hyperv
  2. parallels
  3. virtualbox
  4. vmware_desktop

Онлайн-загрузка слишком медленная, поэтому выберите ручную установку.


локальная установка

метод первый

шаг первый:

> vagrant box add metadata.json

Содержимое metadata.json выглядит следующим образом:

{
    "name": "laravel/homestead",
    "versions": 
    [
        {
            "version": "7.1.10",
            "providers": [
                {
                  "name": "virtualbox",
                  "url": "virtualbox.box"
                }
            ]
        }
    ]
}

Шаг 2:

运行以下命令进入 Homestead 管理脚本的目录里:
> cd Homestead

使用以下命令创建新的虚拟机:
> vagrant up

Способ 2

> vagrant box add laravel/homestead d:/code/homestead.box

Место, где хранится установленный по умолчанию образ коробки: Возьмем, к примеру, мой компьютер в C:\Users\mengy.vagrant.d\boxes.

Установите скрипты администрирования Homestead
假设路径在E:\vagrant\homestead

clone管理脚本
# git clone https://github.com/laravel/homestead.git
# cd Homestead

因为master不稳定所以切到使用打过标签的稳定版本 
# git checkout v7.18.0	

创建 Homestead.yaml 配置文件
在E:\vagrant\homestead\homestead 执行如下语句:

#init.bat (window中双击)
或
#bash init.sh

注意:
因为本地安装的 homestead.box 版本为0,所以需要修改下面步骤生成的配置文件 E:\vagrant\homestead\homestead\scripts\homestead.rb 以下内容

    config.vm.box_version = settings["version"] ||= ">= 0"
    
使用以下命令创建新的虚拟机:
# vagrant up

Вход по ключу SSH

Чтобы реализовать вход без пароля через SSH, измените файл Homestead.yaml следующим образом:
keys:
    - C:/Users/mengy/.ssh/id_rsa
    - C:/Users/mengy/.ssh/id_rsa.pub
    
生成 key的方法,在文件里调出Git Bash Here

    ssh-keygen -t rsa -C "youQQ@qq.com"
    
    #后面一真按enter键,设置密码

Настройка общих папок

Все папки, к которым предоставлен общий доступ в среде Homestead, перечислены в свойстве folders файла Homestead.yaml. Если файлы в этих папках изменены, они синхронизируются между локальным компьютером и средой Homestead. Вы можете настроить столько общих папок, сколько хотите:
folders:
    - map: E:/vagrant/code
      to: /home/vagrant/code
      
# map 对应的是我们本机的文件夹
# to 对应的是 Homestead 上的文件夹
# type 这样可以提升加载速度

бродячая команда

#启动 如果加上 --provision 选项那么添加的新站点会发布到虚拟机上。
vagrant up
#关闭
vagrant halt
#通过 SSH 登录 vagrant(需要先启动 vagrant)
vagrant ssh
#查看目前安装的box列表
vagrant box list
#删除box镜像
vagrant box remove laravel/homestead
#删除虚拟机
vagrant destroy
#查看当前 Homestead 虚拟机的状态。
vagrant status

изменения конфигурации усадьбы для перезагрузки

# vagrant reload --provision

Подключиться через SSH

Таким образом, вы можете войти на виртуальный хост homestead.Здесь вы можете просмотреть синхронизацию между локальным каталогом, определенным выше, и каталогом виртуальной машины.

vagrant ssh

Используйте xshell для подключения ssh

И имя пользователя, и пароль бродячие

база данных

Чтобы подключиться к MySQL из клиента базы данных хоста, подключитесь к 127.0.0.1 и порту 3306 (MySQL).

Имя пользователя и пароль — homestead/secret.

Порт подключения программы PHP (подключение в виртуальной машине) — 3306.

Подключение клиента Redis

Измените файл конфигурации Redis (путь по умолчанию /etc/redis/redis.conf)

requirepass yourpassword ----设置任何你想要的密码
bind 127.0.0.1 修改为 bind 0.0.0.0

После изменения конфигурации перезапустите Redis и выполните команду

sudo service redis restart

Посмотреть изменения

$# ps -ef | grep redis

Измените переадресацию портов в файле Homestead.yaml, а затем выполните vagrant reload --provision, чтобы перезапустить виртуальную машину.

ports:
      - send: 63790
        to: 6379

На этом этапе используйте диспетчер рабочего стола Redis для подключения к Redis.

连接设置:
    名字: homestead
    地址: 192.168.10.10 : 63790
    验证:homestead

медленный ответ

Решить проблему медленной работы Homestead в системе WINDOS.

Обязательно сначала сделайте резервную копию

Во-первых, командная строка входит в Homestead, чтобы начать vagrant

> cd ~/Homestead && vagrant up

Затем запустите команду установки (если загрузка не удалась, она может быть заблокирована)

$ vagrant plugin install vagrant-winnfsd

Изменить файл 1:homestead/scripts/homestead.rb

Найдите этот фрагмент кода (может немного отличаться), замените следующим

if settings.include? 'folders'
  settings["folders"].sort! { |a,b| a["map"].length <=> b["map"].length }

  settings["folders"].each do |folder|
    config.vm.synced_folder folder["map"], folder["to"], 
    id: folder["map"],
    :nfs => true,
    :mount_options => ['nolock,vers=3,udp,noatime']
  end
end

Файл 2:Homestead.yaml

folders:
    - map: ~/Code
      to: /home/vagrant/Code
      type: nfs

Перезапустите Homestead, чтобы файл конфигурации вступил в силу, и все готово.