如何配置nginx以服务Django应用程序和Wordpress网站?

时间:2014-03-28 23:50:21

标签: php django wordpress nginx

我对任何与sysadmin / nginx相关的东西都比较陌生,并尝试使用Digital Ocean的VPS。

我有一个Django应用程序,我使用Gunicorn和Supervisor在我的域(在根目录上)运行(重启过程)。我还为Django应用程序提供了一些静态文件。我现在想看看我是否也可以在同一台服务器上提供Wordpress PHP站点。

以下是我的nginx配置。它适用于Django应用程序及其静态文件,但Wordpress很奇怪:Wordpress管理员工作正常,但前端失败(只是呈现一个空白页面)。有明显的错误吗?

对于它的价值,这些是我想要使用的URL:

  • example.com/ - Django app
  • example.com/assets/* - 静态文件(for Django app)
  • example.com/blog - Wordpress app

这是nginx配置:

server {
    listen 80;
    root /usr/share/nginx/www;
    index index.php index.html index.htm;

    server_name my.ip.goes.here;

    location /assets/ {
        alias /opt/foo/assets/;
        expires max;
        access_log off;
        add_header Pragma public;
        add_header Cache-Control "public, must-revalidate, proxy-revalidate";
        proxy_ignore_headers "Cache-Control" "Expires" "X-Accel-Expires" "Set-Cookie";
    }

    location /blog/ {
        try_files $uri $uri/ /blog/index.php?q=$uri&$args;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }

    location / {
        proxy_pass my.ip.goes.here:8001;
        proxy_set_header X-Forwarded-Host $server_name;
        proxy_set_header X-Real-IP $remote_addr;
        add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
    }
}

我缺少什么使/blog/子文件夹正确地为Wordpress实例提供服务?管理员(/blog/wp-admin/index.php)正确使用并完全可用。

1 个答案:

答案 0 :(得分:1)

我自己的错误。配置是正确的(这是一个赠品,管理员工作正常,nginx错误日志中没有任何内容):我将现有的Wordpress数据库连接到一个新的WP安装和我正在使用的主题没有'存在。