Laravel教程(一):Homestead安装与使用

windows安装方式

在线安装

box下载地址:https://vagrantcloud.com/lara...laravel

vagrant box add laravel/homestead

会有四个选项让你选择。这里咱们用的varant box 就选3git

1) hyperv
2) parallels
3) virtualbox
4) vmware_desktopgithub

线上下载太慢,因此选择手动安装redis


本地安装

方式一shell

步骤一:数据库

> vagrant box add metadata.json

metadata.json 内容以下:json

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

步骤二:windows

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

使用如下命令建立新的虚拟机:
> vagrant up

方式二bash

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

默认安装的box 镜像储存的位置:以我电脑为例在C:Usersmengy.vagrant.dboxesssh

安装 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.yaml 文件的 folders 属性里列出全部与 Homestead 环境共享的文件夹。这些文件夹中的文件如有变动,它们会保持本地机器与 Homestead 环境之间同步。你能够根据须要配置多个共享文件夹:
folders:
    - map: E:/vagrant/code
      to: /home/vagrant/code
      
# map 对应的是咱们本机的文件夹
# to 对应的是 Homestead 上的文件夹
# type 这样能够提高加载速度

vagrant命令

#启动 若是加上 --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

homestead 配置修改要从新加载

# vagrant reload --provision

经过 SSH 链接

这样就能够登陆的 homestead虚拟主机了,此地能够查看上面定义的本地目录与虚拟机目录同步的状况
vagrant ssh
利用xshell连接ssh
用户名和密码都是vagrant

数据库

要从主机的数据库客户端链接到 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 desktop manager链接redis

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

响应缓慢

解决WINDOS系统下Homestead运行缓慢的问题

必定要先备份

首先,命令行进入 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 使配置文件生效,大功告成。

相关文章
相关标签/搜索