laravel之homestead安装教程
Homestead 最佳本地开发环境
Homestead Win
Laravel 致⼒于让整个 PHP 开发体验变得愉快,包括你的本地开发环境。 Vagrant 提供了⼀种简单,优雅的⽅式来管理和配置虚拟机。Laravel Homestead 是⼀个官⽅预封装的 Vagrant box,它为你提供了⼀个完美的开发环境,⽽⽆需在本地机器安装 PHP 、Web 服务器和其他服务器软件。不⽤担⼼会搞乱你的操作系统!Vagrant boxes 是⼀次性的。如果出现问题,你可以在⼏分钟内销毁并创建 Box! Homestead 可以运⾏在任何 Windows,Mac,或 Linux 系统,它包括了 Nginx web 服务器, PHP 7.2,PHP 7.1,PHP 7.0,PHP 5.6, MySQL,PostgreSQL,Redis,Memcached, Node,以及开发 Laravel 应⽤程序所需要的东西。
以下代码都是在windows 使⽤ 命令⾏⼯具操作的
VirtualBox
Vagrant
卸载程序和依赖
在下载的安装包⾥有⼀个删除⼯具,可以直播删除 Vagrant软件。
也可以使⽤下⾯命令删除
# 删除软件
rm -rf /opt/vagrant
rm -f /usr/local/bin/vagrant
sudo pkgutil --forget com.vagrant.vagrant
#删除⽤户数据
rm -rf ~/.vagrant
rm -rf ~/.vagrant.d
Homestead box
Homestead是⼀个官⽅预封装的 Vagrant box,它为你提供了⼀个完美的开发环境,⽽⽆需在本地机器安装 PHP 、Web 服务器和其他服务器软件。不⽤担⼼会搞乱你的操作系统!Vagrant boxes 是⼀次性的。如果出现问题,你可以在⼏分钟内销毁并创建 Box!
内置软件:Ubuntu 16.04、Git、PHP 7.2、PHP 7.1、Nginx、Apache (Optional)、MySQL ……
在线安装 Homestead Vagrant Box,这样安装下载会⾮常慢,可以使⽤第⼆种本地⽂件安装⽅式
vagrant box add laravel/homestead
vagrant box add laravel/homestead d:/code/homestead.box
安装的box 镜像储存的位置:以我电脑为例在~/.vagrant.d/boxes
安装 Homestead 管理脚本
#clone管理脚本
cd ~/Homestead
#因为master不稳定所以切到稳定tag
git checkout v7.3.0
#创建 Homestead.yaml 配置⽂件
./init.bat
如果是本地安装的 homestead.box 版本为0,所以需要修改下⾯步骤⽣成的配置⽂件 /Users/xj/Homestead/scripts/homestead.rb 以下内容
mysql windows安装教程config.vm.box_version = settings["version"] ||= ">= 0"
SSH 秘钥登录
⽤于实现 SSH 免密码登录
修改 Homestead.yaml ⽂件以下内容:
keys:
- ~/.ssh/id_rsa
- ~/.ssh/id_rsa.pub
⽣成 key
ssh-keygen -t rsa -C "2300071698@qq"
#后⾯⼀真按enter键,设置密码
配置共享⽂件夹
Homestead.yaml ⽂件的 folders 属性⾥列出所有与 Homestead 环境共享的⽂件夹。这些⽂件夹中的⽂件若有变更,它们会保持本地机器与 Homestead 环境之间同步。你可以根据需要配置多个共享⽂件夹:
folders:
-map: d:/code
to: /home/vagrant/Code
# map 对应的是我们本机的⽂件夹
*to 对应的是 Homestead 上的⽂件夹
显⽰⽂件列表
在开发环境下我们希望在浏览器中显⽰⽂件列表
vim /etc/f
添加
http {
...
autoindex on; # 显⽰⽂件列表
...
}
vagrant命令
#启动如果加上 --provision 选项那么添加的新站点会发布到虚拟机上。cd ~/Homestead && vagrant up
#关闭
vagrant halt
#通过 SSH 登录 vagrant(需要先启动 vagrant)
vagrant ssh
#查看⽬前安装的box列表
vagrant box list
#删除box镜像
vagrant box remove laravel/homestead
#删除指定版本
vagrant box remove laravel/homestead --box-version 6.4.0
#查看当前 Homestead 虚拟机的状态。
vagrant status
通过 SSH 连接
这样就可以登录的 homestead 虚拟主机了,此地可以查看上⾯定义的本地⽬录与虚拟机⽬录同步的情况
vagrant ssh
数据库
要从主机的数据库客户端连接到 MySQL,就连接到 127.0.0.1和端⼝ 33060 (MySQL) 。账号密码分别是 homestead/secret。
PHP程序连接(虚拟机中连接)端⼝为 3306
全局命令
Git for Windows环境中使⽤
如果我们想在任何⽬录都可以执⾏ vagrant 命令,需要进⾏以下设置
修改 ~/.bash_profile ⽂件内容,这种设置只在git for windows软件中使⽤
function homestead() {
( cd ~/Homestead && vagrant $* )
}
这样我们就可以使⽤ homestead up 等⽅式执⾏了。
设置Windows全局命令
@echo off
set cwd=%cd%
set homesteadVagrant=C:\Users\xj\Homestead
cd /d %homesteadVagrant% && vagrant %*
cd /d %cwd%
set cwd=
set homesteadVagrant=
你需要将脚本中实例路径 C:\Homestead 调整为 Homestead 实际安装路径。创建⽂件之后,添加⽂件路径到 PATH,这样你就可以在系统的任意位置运⾏ homestead up 或 homestead ssh 命令了。
如果想让计算机启动时执⾏ homestead ,在开始菜单->所有程序->启动⽂件夹中设置 homestead.bat内容如下。
homestead up
开机⾃启
在开始菜单>启动⽂件夹中创建homestead.bat⽂件内容如下
homestead up
要在360或腾讯电脑管家中的启动项中不要禁⽤。
响应缓慢
解决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 使配置⽂件⽣效,⼤功告成。
配置域名
修改c:/windows/System32/drivers/etc/hosts⽂件,因为hosts⽂件不能直接修改,需要先移动到桌⾯或其他⽂件夹,然后添加如下内容,添加好后再将⽂件移动回来。
192.168.10.10hdcms.hd
上⾯定义了⼀个域名 hdcms.hd 指向我们的homestead服务器,在homestead.yaml⽂件内定义域名解析配置:
sites:
-map: hdcms.hd
to: /home/vagrant/code/hdcms
现在当我们访问 hdcms.hd 时会访问到 homestead服务器下的/home/vagrant/code/hdcms⽬录
Win10安装错误
执⾏cd ~/Homestead && vagrant up开启虚拟机出现以下错误
Timed out while waiting for the machine to boot. This means that
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论