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 使配置文件生效,大功告成。

相關文章
相關標籤/搜索