在Nginx中包含子目录的配置

时间:2015-06-29 19:35:48

标签: php drupal nginx

例如,我有一个用于测试的网络服务器。

现在我将Drupal 8放在子目录中。

Nginx中的服务器配置对于普通的php文件是可以的,但是由于URL方案,Drupal需要另一个配置。

我的目标是这样的:

normal.cfg

server {
   listen 80;
   server_name _;

   location (phpfiles) {
      pass to PHPFPM;
   }
}

drupal_test.cfg

server {
   listen 80;
   server_name _;

   location /drupal/(phpfiles) {
      do_some_magic
      pass to PHPFPM;
   }
}

然后Nginx抱怨忽略重复的server_name

那么,我如何为给定server_name的给定子目录包含一个特定的(分离文件)配置,以后我可以删除而没有太多问题?这是因为我不想弄乱主配置。

1 个答案:

答案 0 :(得分:0)

最常见的方法是为每个虚拟服务器包含一个单独的文件。您可以使用

包含特定文件
include /path/of/configfile;

或使用通配符选择常用方法:

include /etc/nginx/sites-enabled/*;

在这两种情况下,您都必须将此行放在nginx配置文件的http direcitve中。