Homestead 是一个Laravel官方预封装的 Vagrant box ,它为你提供了一个完美的开发环境,你不需要在本地机器安装 PHP、 web 服务器和其他的服务器软件.此套开发环境不仅Laravel可以使用,其他PHP框架如ThinkPHP也可以使用, Homestead其实是在虚拟机搭建的LNMP环境服务器.
安装使用步骤
1. 下载安装virtualbox和vagrantup
2. 安装 Homestead Vagrant Box
$ vagrant box add laravel/homestead
若遇到 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 54 错误中断
请使用如下命令继续安装
$ vagrant box add laravel/homestead -c --insecure
3. 安装 Homestead
$ git clone https://github.com/laravel/homestead.git ~/Homestead
$ cd ~/Homestead
// Mac / Linux...
$ bash init.sh
// Windows...
$ init.bat
4. 通过Homestead.yaml文件配置Homestead
$ vi Homestead.yaml
# 映射共享本地项目文件夹code到Homestead环境/home/vagrant/code
folders:
- map: ~/code
to: /home/vagrant/code
# 配置Nginx站点,sites映射"域名"到一个Homestead环境文件夹(此域名只能在本台机器上访问)
sites:
- map: homestead.test
to: /home/vagrant/code/my-project/public
# 修改Hosts文件将访问Homestead站点的请求重定向至Homestead虚拟主机上
$ sudo vi /etc/hosts
# 添加新站点的格式如下所示:
192.168.10.10 homestead.test
# 确保此监听的 IP 地址是你在 Homestead.yaml 文件中所设置的一致
5. 启动 Vagrant Box
根据你的需求编辑完成 Homestead.yaml,终端进入 Homestead 目录运行 vagrant up
命令。Vagrant 将启动虚拟机并自动配置你的共享文件夹和 Nginx 站点。可以通过浏览器访问该站点了:[http://homestead.test](http://homestead.test)
若要删除虚拟机,只需要运行 vagrant destroy —force 命令。
若 vagrant up
报错 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
请使用网络全局代理继续或参考此issue
6. 重新加载Homestead配置
如果Homestead.yaml点文件有修改,使用reload命令使配置生效$ vagrant reload --provision
tip:操作都是在Homestead目录运行,
若要共享此站点可被局域网内其他用户访问
- 如果你想使用域名进行访问,登录到虚拟机服务器进行分享站点
# 登录到虚拟机服务器
$ vagrant ssh
# 进入虚拟机服务器并运行
share homestead.test
即可通过Ngork提供的域名实现局域网内访问,Ngork是一款开源的内网穿透工具.
- 当然你也可以直接使用 本机IP:8000 也可以在局域网内访问此站点,Homestaead默认使用8000端口进行转发
具体使用和安装步骤参考:
快速入门 —— 重量级开发环境:Homestead 安装使用详细教程
Laravel 5.8中文文档-入门指南-Homestead
登录虚拟主机服务器
vagrant ssh
# 查看nginx配置
vi /etc/nginx/nginx.conf
# 查看站点 site.com 的nginx 配置
vi /etc/nginx/sites-enabled/site.com
# 查看服务器使用的php版本
php -v
错误合集
OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
$ vagrant box add laravel/homestead
# 报错
OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
添加选项运行命令安装
$ vagrant box add laravel/homestead -c --insecure
Options used:
- -c or —clean Clean any temporary download files
- —insecure Do not validate SSL certificates
Vagrant - OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
$ vagrant up
OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
解决:
- 使用VPN全局代理再次运行 vagrant up 即可
- 解决方法参考SSL read: error