Homestead做Laravel的开发还是很方便的,但是在添加多站点的时候,发现几个坑,来做个记录。

首先,官方文档给了修改homestead.yaml文件的方式,只需要在sites字节下添加一个新的站点配置就好了,如图:

Laravel中Homestead添加多站点时遇到问题-LMLPHP

然后执行 
homestead provison 
就可以使得配置生效!

但是!!坑来了…去访问的话,你会得到一个502错误!好吧,这个错误相信很多人已经发现了,只是因为新版本的Homestead有个PHP-FPM的配置错误,只需要修改 /etc/nginx/sites-enabled/ 下的 homestead.app (请按照自己的实际情况修改)文件,将 fastcgi_pass_unix:/var/run/php5-fpm.sock; 修改为fastcgi_pass_unix:/var/run/php/php7.0-fpm.sock; 就可以了,然后重启Nginx。

但是,重点不是这个好嘛。按照上图的配置, /etc/nginx/sites-enabled/ 下面应该有两个文件的,每个配置文件代表一个站点。然而,这个版本的Homestead只会使用配置下的第一个站点配置来生成Nginx的配置文件。

而且执行 homestead provision 是有损数据的。

好吧,这个需要另一种添加站点的方式。

使用SSH登陆Homestead,然后,执行如下图命令:

Laravel中Homestead添加多站点时遇到问题-LMLPHP

是不是有一个serve-laravel.sh的脚本,对,我们需要使用它来帮助我们添加多站点。

执行 
sudo /vagrant/scripts/serve-laravel.sh blog.app /home/vagrant/Code/blog/public

然后执行 
ls /etc/nginx/sites-enabled/ 

是不是多出来你刚刚配置的站点配置文件。

别高兴太早,那个Bug,记得修改PHP-FPM的相关配置,重启Ngixn,去试试吧,对了还有别忘了hosts。

05-28 12:32