Mac极简的开发环境Laravel Valet实践

WBOY
Libérer: 2016-06-20 12:28:36
original
1170 Les gens l'ont consulté

Laravel Valet 是一个 Mac 下面的极简的开发环境,不但可以本地开发,还可以分享到公网访问,当你的电脑开机后会在后台一直启动  Caddy , Valet 通过  DnsMasq 把所有的 .dev 域名指向你本地安装的站点,比如站点所在目录 blog , 通过浏览器访问 blog.dev 就会自动访问到 blog 了。分享到公网其实主要依靠 ngrok 来实现的。

先来安装一下

  • 更新 Homebrew
brew update  
Copier après la connexion
  • 确保 brew services 可用
brew services list  
Copier après la connexion
  • 安装 php70 如果没有安装的话
brew install php70  
Copier après la connexion
  • 确保 ~/.composer/vendor/bin 已经添加到系统PATH目录中
  • 安装 Valet
composer global require laravel/valet  
Copier après la connexion
  • 安装 ValetDnsMasq
valet install  
Copier après la connexion

如果上一步出现下面的错误:

[ReflectionException]  Class Fxp\Composer\AssetPlugin\Repository\NpmRepository does not exist
Copier après la connexion

这是由于 Composer\Repository\ComposerRepository::whatProvides API 更新了,你已经全局安装了 fxp/composer-asset-plugin ,所以你需要更新一下:

composer global require fxp/composer-asset-plugin --no-plugins  
Copier après la connexion

如果 DnsMasq 安装失败的话手动安装一下

brew install dnsmasq  
Copier après la connexion
  • Ping一下 *.dev ,如果Ping通了说明就OK了
⇒  ping *.devPING *.dev (127.0.0.1): 56 data bytes  64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.040 ms  64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.065 ms  64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.064 ms  64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.062 ms  
Copier après la connexion

下面来启动一个 Valet 站点

目前直到 1.1.7 版本支持的驱动如下:

  • Laravel
  • Lumen
  • Symfony
  • Zend
  • CakePHP 3
  • WordPress
  • Bedrock
  • Craft
  • Statamic
  • Jigsaw
  • Wordpress
  • Joomla
  • Contal
  • Sculpin
  • Static HTML

当然,你也是可以自己驱动, Custom Valet Drivers

  • 创建一个文件夹
mkdir ~/WebRoot/ValetSite && cd ~/WebRoot/ValetSite  
Copier après la connexion
  • 运行 park 命令,把上面的目录作为寻找站点路径
valet park  
Copier après la connexion
  • 创建一个Laravel驱动的站点
laravel new blog  
Copier après la connexion
  • 浏览器访问 http://blog.dev 就OK了

关于 link 命令

link 命令也可以用来启动 Laravel 站点。 park 命令会把这个目录下所有文件夹都当做独立的不同站点,而当你只需要启动一个站点的时候,可以使用 link 命令。

cd ~/WebRoot/ValetSite/blog  valet link test-blog  
Copier après la connexion

执行上面命令就可以通过 http://test-blog.dev 访问项目站点了,还有两个有用的命令:

valet links  valet unlink  
Copier après la connexion

一看就知道干嘛用的了

让站点支持TLS

让站点支持TLS也很简单,自需要执行:

valet secure blog  
Copier après la connexion

这样就可以用 https://blog.dev 进行访问了,取消的话:

valet unsecure blog  
Copier après la connexion

分享站点

这个需求其实挺实用,比如自己开发的东西需要让别人通过外网访问到,只需要一个简单的命令就可以了

valet share  
Copier après la connexion

这样就会通过 ngrok 生成一个外网URL,要停止分享,可以按 Control + C 来取消进程。

ngrok by @inconshreveable                                                                                                                                                 (Ctrl+C to quit)Tunnel Status                 online  Version                       2.0.25/2.1.1  Region                        United States (us)  Web Interface                 http://127.0.0.1:4040  Forwarding                    http://fda651a8.ngrok.io -> blog.dev:80  Forwarding                    https://fda651a8.ngrok.io -> blog.dev:80Connections                   ttl     opn     rt1     rt5     p50     p90                                0       0       0.00    0.00    0.00    0.00
Copier après la connexion

查看站点日志

如果你想查看所有站点的日志,让新的日志也会自动的展示在终端中只需要执行 valet logs

其实还有一个隐藏的控制台:访问 http://localhost:4040/inspect/http

还有一些 Valet 命令

命令 描述

valet forget

在 “parked” 的目录中执行该命令来把其从 parded 目录列表中删除。

valet paths

查看所有 “parked” 路径

valet restart

重启 Valet 程序

valet start

启动 Valet 程序

valet stop

停止 Valet 程序

valet uninstall

卸载 Valet 程序

转载请注明:转载自 Ryan是菜鸟 | LNMP技术栈笔记

如果觉得本篇文章对您十分有益,何不打赏一下

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal