Drupal 7 多站点子文件夹 nginx 配置

Drupal 7 多站点子文件夹 nginx 配置

我在用着drupal 的 perusio 配置但我认为这只是为单个网站设计的。php 在子文件夹中不起作用。

我想要创建如下结构:

主站点

  • /var/www/domain.com/master/src/

子网站

  • /usr/local/子站点/_site1/src/
  • /usr/local/子站点/_site2/src/
  • /usr/local/子站点/_site3/src/

我想要访问如下子站点:

domain.com/site1
domain.com/site2
domain.com/site3

有没有用于此的 nginx 配置?

我想在以下配置中添加 3 个子文件夹。

# -*- mode: nginx; mode: flyspell-prog;  ispell-current-dictionary: american -*-
### Configuration for domain.com.

## HTTP server.
server {
    listen 80; # IPv4

    server_name localhost;
    limit_conn arbeit 32;

    ## Access and error logs.
    access_log /var/log/nginx/domain.access.log;
    error_log /var/log/nginx/domain.error.log;

    ## See the blacklist.conf file at the parent dir: /etc/nginx.
    ## Deny access based on the User-Agent header.
    if ($bad_bot) {
        return 444;
    }
    ## Deny access based on the Referer header.
    if ($bad_referer) {
        return 444;
    }

    ## Protection against illegal HTTP methods. Out of the box only HEAD,
    ## GET and POST are allowed.
    if ($not_allowed_method) {
        return 405;
    }

    ## Filesystem root of the site and index.
    root /var/www/domain.com/master/src/;
    index index.php;

    fastcgi_keep_conn on; # keep alive to the FCGI upstream

    ################################################################
    ### Generic configuration: for most Drupal 7 sites.
    ################################################################
    include apps/drupal/drupal.conf;

    include apps/drupal/drupal_install.conf;

    include apps/drupal/drupal_upload_progress.conf;

    include nginx_status_vhost.conf;

} # HTTP server

答案1

您正在使用的配置是相当彻底的硬编码,以期望站点的根目录是唯一的 drupal 实例 - 大量绝对location块:https://github.com/perusio/drupal-with-nginx/blob/D7/apps/drupal/drupal.conf

我建议你不要尝试编辑所有这些内容(光是想想就让我感到畏缩),而是server在 nginx 配置中为每个子站点创建自己的块,并使用虚假的主机名,例如site1.example.com- 然后进行设置反向代理在主服务器块中代理example.com/site1site1.example.com

相关内容