企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
参考 [https://blog.csdn.net/shadow\_zed/article/details/95032965](https://blog.csdn.net/shadow_zed/article/details/95032965) **公式:下载链接 = 产品版本链接 + 供应商英文意思 + 要下载的供应商名称(如virtualbox)+'.box'** 如上:生成的下载链接为:[https://app.vagrantup.com/centos/boxes/7/versions/1804.02/providers/virtualbox.box](https://app.vagrantup.com/centos/boxes/7/versions/1804.02/providers/virtualbox.box) 点进要下载的box版本号 在浏览器链接后拼接 /providers/virtualbox.box 即可资源下载地址,会自动下载 ![](https://img.kancloud.cn/69/74/69740685fca70173a6707a5d4aa27f74_1041x931.png) 如laravel的开发环境 【laravel/homestead】 https://app.vagrantup.com/laravel/boxes/homestead/versions/8.2.1/providers/virtualbox.box 本地下载 homestead [https://learnku.com/articles/34662](https://learnku.com/articles/34662) 安装参考:https://learnku.com/laravel/wikis/25550 [TOC] ### 1.本地安装盒子【以laraval/homestead为例】 因用命令行添加box在线安装,网络很慢【需要翻墙】,所以很多情况可能是拿到了一个已下载好的box,进行本地安装 这里以homestead为例。准备工作已在上一章完成,这里不陈述,注意下载最新的软件或者更新到最新 ### 2.添加box以及下载最新homestead管理 以下命令操作均为,gitbash命令行 在box的同级目录 建立一个 `metadata.json`(盒子的导入配置文件),我当前下载的是8.2.1,改配置文件如下 ``` { "name": "laravel/homestead", "versions": [ { "version": "8.2.1", "providers": [ { "name": "virtualbox", "url": "virtualbox.box" } ] } ] } ``` 在该目录下,将box导入vagrant模板 ``` > vagrant box add metadata.json ``` ### 3.git拉取homestead的管理软件项目 ``` > cd ~ #切换到用户根目录,window下通常是 C:\Users\用户名\ > git clone https://git.coding.net/summerblue/homestead.git Homestead # C:\Users\用户名\Homestead > git branch -a # 查看所有版本分支,找到最高版本,切换过去,我的当前最高是 remotes/origin/v7.8.0 > git checout v7.8.0 > bash init.sh # 会生成homestead启动的配置文件 ``` 配置启动box参数 ``` --- ip: "192.168.10.10" memory: 4096 cpus: 2 provider: virtualbox authorize: ~/.ssh/id_rsa.pub keys: - ~/.ssh/id_rsa folders: - map: E:/phpstudy_pro/WWW/tasks to: /home/www/tasks sites: - map: tasks.io to: /home/www/tasks/public databases: - homestead # blackfire: # - id: foo # token: bar # client-id: foo # client-token: bar # ports: # - send: 50000 # to: 5000 # - send: 7777 # to: 777 # protocol: udp ``` 核心是在folders下配置好同步项目 然后在sites下配好虚拟主机配置,其实就是host和webroot folders和sites都可以配多个map-to 所以建议目录同步映射只映射需要的项目和文件夹。这里tasks是我按laraval官方教程安装的一个laraval6.*的项目 ### 4.启动起来就好了 ``` > cd ~/Homestead && vagrant up ``` ### 5.xshell登录,并设置root可登录 我这里启动成功,用xshell ssh 127.0.0.1:2222 vagrant vagrant 登进去 首先更新root密码,为后面使用root登录做准备 ``` > sudo passwd root # 会提示输入密码和重复输入密码,两次输入一致会看到密码修改成功 > vim /etc/ssh/sshd_config # 更改设置 # PermitRootLogin yes # 允许root账户登录 # PasswordAuthentication yes # 允许密码模式登录 > sudo service sshd restart ``` 然后再去xshell将会话配置的登录,密码模式下的账户密码设为root和你修改root密码时设置的密码,这样就可以root登录了。 该篇参考于官方文档,有一些可能出现的问题,如 1.无法虚拟化 要去bios开启虚拟化 2.不支持共享目录挂载 3.私钥没有生成 4.站点响应缓慢 都可以去 下面页面找到答案 [https://learnku.com/articles/34662](https://learnku.com/articles/34662) [http://tech.54skyer.cn/1214823](http://tech.54skyer.cn/1214823) [https://learnku.com/laravel/wikis/25550](https://learnku.com/laravel/wikis/25550) ### 6.设置局域网可访问 如果能设置局域网可访问,则可以拿局域网内的一台window机器用homestead搭建测试环境,用svn或者git检出项目,这样就可以通过版本控制软件更新代码来达到测试环境发布的功能 ①修改Homestead\scripts\homestead.rb文件。将config.vm.network :private_network, ip: settings["ip"] ||= "192.168.10.10"中的private_network修改为public_network ②~/.homestead/Homestead.yaml的ip字段配置成一个和你主机同一网段的ip ③根据新的配置,重置虚拟机。cd ~/Homestead && vagrant provision && vagrant reload