Laravel Homestead的安装和使用(转)

原文:https://blog.csdn.net/woqianduo/article/details/81091154/

1、简介

1.1、Homestead是什么

Laravel Homestead 是一个官方预封装的 Vagrant box,它为你提供了一个完美的开发环境,而无需在本地机器安装 PHP 、Web 服务器和其他服务器软件。不用担心会搞乱你的操作系统!Vagrant boxes 是一次性的。如果出现问题,你可以在几分钟内销毁并创建 Box!

Homestead 可以运行在任何 Windows,Mac,或 Linux 系统,它包括了 Nginx web 服务器, PHP 7.2,PHP 7.1,PHP 7.0,PHP 5.6, MySQL,PostgreSQL,Redis,Memcached, Node,以及开发 Laravel 应用程序所需要的东西。

1.2、Vagrant是什么

Vagrant构建在 虚拟化技术之上 的 虚拟机运行环境管理工具

1.3、安装前准备

安装Homestead之前,先自行安装Git、Virtualbox和Vagrant,并下载homestead.box

2、安装Homestead

我的Vagrant 安装目录选择在 D:/Vagrant
2.1、打开Git Bash 进入D: /Vagrant

2.2、添加homestead.box到Vagrant

2.2.1、本地无homestead.box执行 (建议使用第二种方式,先下载)

copyvagrant box add laravel/homestead

2.2.2、本地有homestead.box,将homestead.box复制到D:/Vagrant下(当前目录)

copyvagrant box add laravel/homestead homestead.box

2.2.3、查看安装结果 执行

copyvagrant box list
//laravel/homestead (virtualbox, 6.1.0)
//见以上结果为安装成功

2.3、克隆 Laravel Homestead 仓库到 D:/vagrant/homestead

copygit clone https://github.com/laravel/homestead.git
cd homestead

2、4.#执行 init.sh(生成Homestead.yaml文件)

copybash init.sh

2、5.创建工作目录
D:/vagrant/www
因为composer要指定php版本,windows如果没有php环境(有也可以当没有),因为马上就要使用homestead的lnmp环境。所以先不在windows安装laravel,等homestead安装好后在lnmp环境下安装composer和laravel即可,可以先建个简单的目录 D:/vagrant/www/test/public下建个index.php(echo 'hello laravel')。

2.6、配置秘钥

copycd ~/.ssh
ls

查看是否存在id_rsa和id_rsa.pub连个文件,如果有就不用,再生产,如果没有执行如下命令
ssh-keygen -t rsa -C "you@homestead.com

2.7、#配置Homestead.yaml 文件 (我的文件在D:/vagrant/homestead目录下)

copyip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa
folders:
    - map: D:/Vagrant/code
      to: /home/vagrant/code

sites:
    - map: test.homestead.com
      to: /home/vagrant/laravel/public

databases:
    - homestead

2.8、配置windows hosts 文件
打开 C:/Windows/System32/drivers/etc/host 添加
192.168.10.10 test.homestead.com

2.9 、如果使用本地box文件安装,需要找到homestead\scripts\文件夹中,打开homestead.rb文件
config.vm.box_version = settings["version"] ||= ">= 0"

2.10、基本使用

copy//启动虚拟机
cd d:/homestead
vagrant up

//进入虚拟机
vagrant ssh 

//登录mysql 密码为secret (查看mysql版本是否为自己想要的)
mysql -u homestead -p

//查看php版本、nginx版本
php -v
nginx -v

3、安装完成

3.1、成功

安装完后在本地浏览器,访问:test.homestead.com

如果输出前面写好脚本:hello laravel

那么就到此结束。

3.2、报错

报错:502 Bad Gateway

1.查看nginx错误日志

copy/var/log/nginx && ls
//access.log  error.log  test.laravel.com-error.log
cat test.laravel.com-error.log
    
//看到错误日志:
2019/05/29 16:02:47 [crit] 844#844: *1 connect() to unix:/var/run/php/php7.3-fpm.sock failed (2: No such file or directory) while connecting to upstream, client@@@
//大致意思是php7.3未找到 

2.查看php

copycd /var/run/php && ls
//php5.6-fpm.sock  php7.0-fpm.sock  php7.1-fpm.sock  php7.2-fpm.sock
//没有php7.3

3.修改nginx站点配置

copycd /etc/nginx/sites-enabled && ls
//test.laravel.com
sudo vim test.laravel.com

/*
location ~ \.php$ {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
    fastcgi_index index.php; 
*/
//将php7.3-fpm.sock修改为:php7.2-fpm.sock,保存退出

4.重启nginx

copysudo nginx -s reload
posted @   pine007  阅读(1083)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示