作为子目录 djanggo 运行的 wordpress 的 Nginx 配置

作为子目录 djanggo 运行的 wordpress 的 Nginx 配置

我有一个 wordpress 和 django 应用程序,其中 nginx 配置如下:

# django
server {
    listen 80;
    server_name domain.com;

    location /static/ {
        alias /path/to/static/;
    }

    location / {
        proxy_pass http://unix:/path/to/gunicorn.sock;
    }
}
# wordpress
server {
    listen 80;
    server_name blog.domain.com;

    root /path/to/wordpress;
    index index.html index.php;

    location /{
        index index.php;
        try_files $uri $uri/ /index.php?$args;
    }

    location = /favicon.ico { log_not_found off; access_log off; }
    location = /robots.txt { log_not_found off; access_log off; allow all; }
    location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
        expires max;
        log_not_found off;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }
}

此时的网址

  • domain.com-->Django
  • blog.domain.com --> Wordpress

这个配置工作正常,但我想配置 nginx,以便 wordpress 可以作为子目录运行domain.com/blog/来自 djanggo,只有一个端口配置

我期望的网址

  • domain.com-->Django
  • domain.com/blog/-->Wordpress

答案1

您需要location {}在一个server {}块内包含两个块,一个指向 django with proxy_pass,另一个指向 wordpress。您仍然可以保留第二个server {}块来为blog.domain.com网站提供服务。

相关内容