1) 安装软件
virtualBox地址:https://download.virtualbox.org/virtualbox/6.1.18/VirtualBox-6.1.18-142142-Win.exe
vagrant下载地址:https://releases.hashicorp.com/vagrant/2.2.15/vagrant_2.2.15_x86_64.msi
2) 本地安装 vagrant box add 绝对路径/metadata.json
把 metadata.json 和 virtualbox.box 放在同一个目录下
metadata.json 示例
{
"name": "laravel/homestead",
"versions":
[
{
"version": "11.0.0",
"providers": [
{
"name": "virtualbox",
"url": "D:/git/vagrant-box/virtualbox.box"
}
]
}
]
}
# providers里面的 name 和 url 保持一致
# "name": "laravel/homestead" 表示该虚拟机名称
# 执行安装
3.挂起服务
Homestead下载地址:https://github.com/laravel/homestead.git
配置文件:cp Homestead.yaml.example Homestead.yaml
运行以下命令进入 Homestead 管理脚本的目录里:
> cd Homestead
使用以下命令创建新的虚拟机:
> vagrant up
配置共享文件夹
Homestead.yaml 文件的 folders 属性里列出所有与 Homestead 环境共享的文件夹。这些文件夹中的文件若有变更,它们会保持本地机器与 Homestead 环境之间同步。你可以根据需要配置多个共享文件夹:
folders:
- map: E:/vagrant/code
to: /home/vagrant/code
# map 对应的是我们本机的文件夹
# to 对应的是 Homestead 上的文件夹
Vagrant 常用命令
命令 | 说明 |
---|---|
vagrant up | 启动虚拟机 |
vagrant halt | 关闭虚拟机 |
vagrant reload | 重启虚拟机 |
vagrant reload --provision | 重启虚拟机并更新相关配置 |
vagrant ssh | 通过 SSH 登录 vagrant |
vagrant box list | 查看目前安装的box列表 |
vagrant box remove laravel/homestead | 删除box镜像 |
vagrant destroy | 删除虚拟机 |
vagrant status | 查看当前 Homestead 虚拟机的状态 |
通过 SSH 连接
这样就可以登录的 homestead虚拟主机了,此地可以查看上面定义的本地目录与虚拟机目录同步的情况
vagrant ssh
利用xshell链接ssh
用户名和密码都是vagrant
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键,设置密码
数据库
要从主机的数据库客户端连接到 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
文件:Homestead.yaml
folders:
- map: ~/Code
to: /home/vagrant/Code
type: nfs
重启 Homestead 使配置文件生效,大功告成
vagrant reload --provision
composer 源更新
PHP安装扩展
Pecl 安装
pecl install swoole
查看php.ini位置
php -i | grep php.ini
往php.ini配置文件添加
extension=swoole.so
重启PHP服务(根据版本号)
sudo service php7.3-fpm status