Laravel中Homestead添加多站点时遇到问题
Homestead做Laravel的开发还是很方便的,但是在添加多站点的时候,发现几个坑,来做个记录。
首先,官方文档给了修改homestead.yaml文件的方式,只需要在sites字节下添加一个新的站点配置就好了,如图:
然后执行 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,然后,执行如下图命令:
是不是有一个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。