摘要:启动,输入验证安装是否成功,如果出现版本信息表示成功。安装注意官方推荐的是。如果上述命令执行失败,需要确认是否是最新版本。和配置文件中的保持一致在目录下运行命令启动这个提示是冲突,更改即可。再执行,首次启动会有一个初始化过程查看状态。
如果是工程化开发,走正规军路子还是推荐使用 Homestead。下载Vagrant。官方下载地址
这里下载的是Windows版本的安装包。直接点击安装即可,安装过程中可自定义安装路径。Windows+r启动cmd,输入vagrant -v验证安装是否成功,如果出现版本信息表示成功。
注:如果你使用的是 Windows,需要开启系统的硬件虚拟化(VT-x),这通常可以通过 BIOS 来开启。如果你是在 UEFI 系统上使用 Hyper-V,则需要关闭 Hyper-V 以便可以访问 VT-x。预装软件
Homestead 可以运行在 Windows、Mac 以及 Linux 等主流操作系统上,预装的软件和工具列表如下:
Ubuntu 16.04
Git
PHP 7.2
PHP 7.1
PHP 7.0
PHP 5.6
Nginx
Apache(可选)
MySQL
MariaDB(可选)
SQLite3
PostgresSQL
Composer
Node(With Yarn, Bower, Grunt, and Gulp)
Redis
Memcached
Beanstalkd
Mailhog
Elasticsearch(可选)
ngrok
使用 Homestead 之前,需要先安装VirtualBox,以及 Vagrant,所有这些软件包都为常用操作系统提供了一个便于使用的可视化安装器,通过安装界面引导就可以完成安装。
2.安装 Vagrant box注意: Laravel官方推荐的Shell是Git Bash。因为Git Bash自动将~(tilde)映射到用户根目录下(例如,C:UsersMyUserName),而如果使用Windows自带的cmd,那么需要使用%HOMEDRIVE%%HOMEPATH%环境变量来进入正确的文件夹。
VirtualBox 和 Vagrant 安装好了之后,在终端中使用如下命令将Homestead Vagrant box laravel/homesterad 添加到 Vagrant 中
vagrant box add laravel/homestead
选择virtualbox选项,进入下载等待,时间取决于网络。如果上述命令执行失败,需要确认 Vagrant 是否是最新版本。网络或者机器关机中断后一直报错 Failed to connect to vagrantcloud-files-production.s3.amazonaws.com port 443: Timed out之类的错误。还有解压错误等。可能是跟网络有关系,再试几次就成功了(可以用管理员打开cmd去试试)。国内网络也就这样了,不行就移步手动下载。
x ubuntu-16.04-amd64-disk001.vmdk: gzip decompression failed bsdtar.EXE: Error exit delayed from previous errors.
使用vagrant box list命令确认是否安装了box。
也可以选择手动下载安装,laravel/homestead box下载地址vagrant cloud 下载地址,https://app.vagrantup.com/laravel/boxes/homestead/versions/5.2.0/providers/virtualbox.box
如果你需要下载不同版本(或最新版本),请将以上地址中versions/后的数字版本号替换成相应的版本号。
和virtualbox.box放置在同一个目录。执行vagrant box add laravel/homestead ~/Downloads/virtualbox.box添加。后边的~/Downloads/virtualbox.box是文件存放路径。
Vagrant 2.0.3有问题,报Invalid file://hostname/, expected localhost or 127.0.0.1 or none。
3. 安装 Homestead选择任意目录作为Homestead目录。如:F:,在这个目录下执行clone
git clone https://github.com/laravel/homestead.git Homestead
然后进入克隆下的目录 cd Homestead/
// Mac/Linux... bash init.sh // Windows... init.bat
在 Homestead 目录下运行 init.bat 命令来创建 Homestead.yaml 配置文件,生成的 Homestead.yaml 配置文件文件位于当前 Homestead 目录。如果git Base 执行 bash init.sh。
完成后会生成Homestead.yaml和Vagrantfile。
--- #`Homestead.yaml`配置文件: # 虚拟机ip ip: "192.168.10.10" # 虚拟机使用内存 memory: 2048 # 虚拟机使用的单核CPU cpus: 1 # Vagrant 提供者 provider: virtualbox # 公共ssh key authorize: ~/.ssh/id_rsa.pub # 私有ssh key keys: - ~/.ssh/id_rsa # 共享文件夹 folders: - map: ~/code to: /home/vagrant/code # 站点配置 sites: - map: homestead.test to: /home/vagrant/code/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 variables: - key: APP_ENV value: local
如果sites在配置Homestead框后更改属性,则应该重新运行以更新虚拟机上的Nginx配置,vagrant reload --provision
修改本地host文件:在 Mac 或 Linux上,该文件位于 /etc/hosts,在 Windows 上,位于 C:WindowsSystem32driversetchosts。和配置文件中的ip保持一致
192.168.10.10 homestead.test
在 Homestead 目录下运行 vagrant up 命令启动
这个提示是ip冲突,更改ip即可。
手动下载的,执行vagrant up 时还是提示找不到,这是因为手动引入的box版本问题
解决方法就是,进入Homestead/scripts 下的 homestead.rb文件,做以下修改即可。
vagrant reload --provision 重启。再执行vagrant up,首次启动会有一个初始化过程
vagrant status 查看状态。running状态启动成功。
4. 相关管理命令vagrant up :启动虚拟机
vagrant halt :关闭虚拟机
vagrant reload --provision 重启
vagrant suspend: 暂停虚拟机,就是挂起
vagrant resume :恢复虚拟机
vagrant box remove xx: 移除box,其中 xx 是 box 名称
vagrant destroy :删除虚拟机
从vagrant up 启动界面可以看到ssh登录地址和端口:
默认账户密码是:vagrant。使用ssh登录工具登录即可。
6. 连接mysql要通过本地的 Navicat 或 Sequel Pro 连接到 Homestead 上的 MySQL 或 Postgres 数据库,可以通过新建连接来实现,主机 IP 都是 127.0.0.1,对于 MySQL 而言,端口号是 33060,对 Postgres 而言,端口号是 54320,用户名/密码是 homestead/secret
在vagrant box 上安装PHP扩展
这里以安装MongoDB扩展为例:
1. 首先安装mongodb数据库
`apt-get update` 更新源,也可以不更新,包的新旧问题
sudo apt-get install -y mongodb
2. 安装mongodb扩展
pecl update 通道升级 `sudo pecl channel-update` `pecl install mongodb` php7 以上的版本,默认最新
修改配置文件。特别注意,vagrant中需要修改两处,不然会出现在 php -m 和 phpinfo()打印出来的不一致。
* `sudo vim /etc/php/7.2/fpm/php.ini` 第一处 * `sudo vim /etc/php/7.2/cli/php.ini` 第二处
添加extension=mongodb.so进去。然后重启php-fpm。
执行命令: sudo service php7.2-fpm restart
这样就可以通过php -m 和phpinfo()输出结果,显示是一致的。
vagrant 中的版本较多,可以通过ll /etc/alternatives/php 查看默认的版本。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/28581.html
摘要:下面的参数是根据需要在压缩或解压档案时可选的。备注了解过程省略这里添加了模块生成文件使用系统库没有用到库使用系统库这些路径是要了解的这是配置文件 资源1: 官网: http://nginx.org资源2: 官方学习资源, wiki, nginx安装之wiki介绍资源3: 编译选项列表资源4: nginx源码下载列表,当前Stable版本是nginx-1.14.0,资源5...
摘要:下面的参数是根据需要在压缩或解压档案时可选的。备注了解过程省略这里添加了模块生成文件使用系统库没有用到库使用系统库这些路径是要了解的这是配置文件 资源1: 官网: http://nginx.org资源2: 官方学习资源, wiki, nginx安装之wiki介绍资源3: 编译选项列表资源4: nginx源码下载列表,当前Stable版本是nginx-1.14.0,资源5...
摘要:我下载到了本机上与打通的文件夹中,再进入,执行以下命令用代号取代的发行版本代号,本系统是所以代号为通过执行,在文件尾部中添加,以下代码保存,相关编辑操作请谷歌。安装的前提是,已经安装成功。 最近因为工作开始接触Yii,之前开发使用laravel习惯用vagrant。所以,这次尝试着打造一个box,专门用来写Yii框架的项目。 在这次打造box,收获了很多:1)更加熟悉了nginx的配...
摘要:是什么是一个用编写的开源机器学习服务器应用,可以帮助你方便地使用搭建推荐引擎。是一个可伸缩的机器学习库,它提供众多聚集分类过滤算法。我为什么要关心我决定学习是因为我想使用一个可以帮助我加上机器学习功能的库。 编者注:我们发现了比较有趣的系列文章《30天学习30种新技术》,准备翻译,一天一篇更新,年终礼包。下面是第四天的内容。 今天是30天学习30种新技术的第4天。到目前为止我很享...
阅读 739·2021-11-12 10:36
阅读 3262·2021-09-08 10:44
阅读 2709·2019-08-30 11:08
阅读 1324·2019-08-29 16:12
阅读 2633·2019-08-29 12:24
阅读 821·2019-08-26 10:14
阅读 637·2019-08-23 18:32
阅读 1098·2019-08-23 17:52