Laravel nginx 多站点配置

最近学习和练习的时候,为 Laravel 应用程序添加了好几个站点,有些程序删除之后站点却还留着,这让强迫症感到非常难受,上次解决了这个问题之后并没有记录一下,于是导致今天又花了很多时间折腾,所以特地来写下我的第一篇帖子,本帖基于已经正确安装好 Laravel 之后。如果有什么不正确的地方,还望指正。

配置站点

根据官方文档,我们有两种添加站点的方式:

  1. /Homestead/src/stubs/Homestead.yaml 文件中添加站点:

    xxxxx
    sites:

    • map: homestead.app
      to: /home/vagrant/Code/Laravel/public
      xxxxx

然后在 Homestead 目录中执行:

vagrant provision

不过官方文档里面提到,这个操作是具有破坏性的,当执行 provision 命令,现有的数据库会被摧毁并重新创建。

  1. SSH 进入 Homestead 环境中,使用 serve 命令文件添加站点,执行以下命令:

    serve domain.app /home/vagrant/Code/path/to/public


由以上任意一种方式添加站点之后,我们都应该将新的站点到本机的 /etc/hosts 文件中:

 xxxxx
 # homestead config
 192.168.10.10 homestead.app

到这里,站点就添加完成啦!

修改、删除站点

(这里 1 和 2 分别对应上面添加站点的 1 和 2 两种方式)

1.在 /Homestead/src/stubs/Homestead.yaml 文件中修改或者删除站点,然后在 Homestead 目录中执行:

 vagrant provision
  1. 你会发现由 serve 命令添加的站点并没有出现在 Homestead.yaml 文件中,根据 /Homestead/scripts/serve.sh 文件,可以看到 serve 命令会创建一个 nginx 的 site ,做些链接, 最后重启 nginx 和 php-fpm :

    xxxxx
    echo "$block" > "/etc/nginx/sites-available/$1"
    ln -fs "/etc/nginx/sites-available/$1" "/etc/nginx/sites-enabled/$1"
    service nginx restart
    service php5-fpm restart

所以 SSH 进入 Homestead 环境后,执行以下指令:

 cd /etc/nginx/sites-available
 ls

这时候就能够看到所有的站点啦!然后可以通过执行以下命令删除站点:

 sudo rm homestead.app

或者执行以下命令然后编辑文件对站点进行修改:

 sudo vi homestead.app

以上就是今天的学习收获,看完之后留下你宝贵的意见吧~

测试一下
本帖已被设为精华帖!
Randy
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1

我还以为是centos上的nginx

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!