Nginx 多站点配置

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

配置站点

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

  • 1.在 /Homestead/src/stubs/Homestead.yaml 文件中添加站点:
sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public

然后在 Homestead 目录中执行:

vagrant provision

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

  • 2.SSH 进入 Homestead 环境中,使用 serve 命令文件添加站点,执行以下命令:
serve domain.app /home/vagrant/Code/path/to/public

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

# homestead config
192.168.10.10 homestead.app

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

修改、删除站点

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

  • 1.在 /Homestead/src/stubs/Homestead.yaml 文件中修改或者删除站点,然后在 Homestead 目录中执行:
vagrant provision
  • 2.你会发现由serve命令添加的站点并没有出现在 Homestead.yaml 文件中,根据
    /Homestead/scripts/serve.sh文件,可以看到 serve 命令会创建一个 nginx 的 site ,做些链接, 最后重启 nginx 和 php-fpm:
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

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

posted @ 2015-08-19 15:18  百學須先立志  阅读(658)  评论(0编辑  收藏  举报