Vagrant + VirtualBox构建YII2 Advance版本项目踩坑记录
最近在公司实习的时候遇到了一个环境问题,一直没有调试好,最后终于解决,这里做一个记录。
本机需要安装composer
cd进入项目目录执行composer update先更新json包内容......
1.下载:Homestead.yaml文件,没有可以用如下内容并保存为yaml后缀格式
---
ip: "服务器ip地址"
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: D:/PHPCode
to: /home/vagrant/code
sites:
- map: ai-frontend.xxx
to: /home/vagrant/code/本地项目(WWW中的项目名字)/frontend/web
- map: ai-backend.test
to: /home/vagrant/code/本地项目(WWW中的项目名字)/backend/web
- map: ai-api.test
to: /home/vagrant/code/本地项目(WWW中的项目名字)/api/web
databases:
- homestead
ports:
- send: 6379
to: 6379
- send: 8001
to: 8001
- send: 8002
to: 8002
- send: 8003
to: 8003
- send: 8004
to: 8004
- send: 8005
to: 8005
- send: 9502
to: 9502
- send: 1234
to: 1234
# ports:
# - send: 50000
# to: 5000
# - send: 7777
# to: 777
# protocol: udp
# blackfire:
# - id: foo
# token: bar
# client-id: foo
# client-token: bar
# zray:
# If you've already freely registered Z-Ray, you can place the token here.
# - email: [email protected]
# token: foo
# Don't forget to ensure that you have 'zray: "true"' for your site.
这里是对虚拟主机中做一个映射关系,指定自己www下的文件目录,同时分配不同的连接地址。
2:配置vagrant.json文件,没有也可以修改保存成自己的json格式
{
"name": "laravel/homestead",
"versions":
[
{
"version": "6.4.0",
"providers": [
{
"name": "virtualbox",
"url": "C:/Users/Erdou/Desktop/virtualbox.box"
}
]
}
]
}
这里的url连接的是自己已经在网上下好存在本地桌面上的virtualbox.box镜像,可修改成自己的路径文件,我是放在了桌面上的。
3:下载virtualbox并安装
这里官网最新的是v-6的版本,用这个版本后续用vagrant up启动的时候会报错,应该是脚本有问题,所以换一个可以成功的版本
这里我上传到百度云的v-5版本:链接:https://pan.baidu.com/s/1DlbRCEaAbBFVNzS3YA4lyw 提取码:66fy
4:下载vagrant并安装
选择适合自己的版本,下载安装。
5:下载homestead
地址: https://github.com/laravel/homestead.git
完成后,在自己的www文件夹中找到自己的项目文件,进入到xx项目\vagrant\config\vagrant-local.yml文件中,如果文件名为:vagrant-local.example.yml就复制一份然后去掉example字段,进入编辑。
# Your personal GitHub token
github_token: 你的GitHub的token(不知道怎么创建的自己百度)
# Read more: https://github.com/blog/1509-personal-api-tokens
# You can generate it here: https://github.com/settings/tokens
# Guest OS timezone
timezone: Asia/Shanghai
# Are we need check box updates for every 'vagrant up'?
box_check_update: false
# Virtual machine name
machine_name: y2aa
# Virtual machine IP
ip: 192.168.83.137
# Virtual machine CPU cores number
cpus: 1
# Virtual machine RAM
memory: 1024
这里修改token和时区:Asia/Shanghai
6:1.这个时候就不需要管我们的项目了,因为设置了homestead的映射关系,我们进入到git下来的homestead目录中,右键
Git Bash Here进入命令行
$ vagrant box add vagrant.json --name=laravel/homestead
加载我们配置的json文件,我是把json文件放在了homestead中的,便于方便直接写路径名
2.输入命令:
vagrant plugin install vagrant-hostmanager
3.输入命令:
$ vagrant up
执行启动box
结果:
第一次执行vagrant可能有些文件需要更新。
最后就可以进入自己配置的网址打开了。