Laravel教程(一):Homestead安裝與使用

windows安裝方式

在線安裝

box下載地址:vagrantcloud.com/laravel/box…laravel

vagrant box add laravel/homesteadgit

會有四個選項讓你選擇。這裏咱們用的varant box 就選3github

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

線上下載太慢,因此選擇手動安裝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:\Users\mengy.vagrant.d\boxesssh

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

相關文章
相關標籤/搜索