首页 > 代码库 > Nginx 多站点配置

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 config192.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 restartservice php5-fpm restart

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

cd /etc/nginx/sites-availablels

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

sudo rm homestead.app

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

sudo vi homestead.app

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

更多Nginx相关教程见以下内容

CentOS 6.2实战部署Nginx+MySQL+PHP http://www.linuxidc.com/Linux/2013-09/90020.htm

使用Nginx搭建WEB服务器 http://www.linuxidc.com/Linux/2013-09/89768.htm

搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程 http://www.linuxidc.com/Linux/2013-09/89692.htm

CentOS 6.3下Nginx性能调优 http://www.linuxidc.com/Linux/2013-09/89656.htm

CentOS 6.3下配置Nginx加载ngx_pagespeed模块 http://www.linuxidc.com/Linux/2013-09/89657.htm

CentOS 6.4安装配置Nginx+Pcre+php-fpm http://www.linuxidc.com/Linux/2013-08/88984.htm

Nginx安装配置使用详细笔记 http://www.linuxidc.com/Linux/2014-07/104499.htm

Nginx日志过滤 使用ngx_log_if不记录特定日志 http://www.linuxidc.com/Linux/2014-07/104686.htm

Nginx 的详细介绍:请点这里
Nginx 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-08/121987.htm

Nginx 多站点配置