Nginx y múltiples instancias de wordpress con fastcgi bajo el mismo dominio

Nginx y múltiples instancias de wordpress con fastcgi bajo el mismo dominio

Mi sitio se ejecuta en Apache. Existen dos instancias de WordPress en las rutas /tr/ y /eng/. Quiero mover la configuración a nginx pero no pude hacer que funcione.

Mi configuración consta de nging 0.7.66, php 5.3.2 y php-fpm. /tr/ y /eng/ son dos instancias separadas de WordPress ubicadas en /home/istci/webapps/wordpress_tr y /home/istci/webapps/wordpress respectivamente.

A continuación se muestra la sección del servidor de nginx.conf que contiene solo la configuración para tr, pero tampoco pudo hacerlo funcionar.

server {
    listen       80;
    server_name  www.example.com;

    charset utf-8;

    location ~ ^/$ {
        rewrite ^(.+)$ http://www.example.com/tr/ permanent;
    }

    location ~ /tr/.*php$ {
        fastcgi_pass   unix:/home/istci/var/run/wptr.sock; 
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME    /home/istci/webapps/wordpress_tr$fastcgi_script_name;

        fastcgi_param  QUERY_STRING       $query_string;
        fastcgi_param  REQUEST_METHOD     $request_method;
        fastcgi_param  CONTENT_TYPE       $content_type;
        fastcgi_param  CONTENT_LENGTH     $content_length;

        fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
        fastcgi_param  REQUEST_URI        $request_uri;
        fastcgi_param  DOCUMENT_URI       $document_uri;
        fastcgi_param  DOCUMENT_ROOT      $document_root;
        fastcgi_param  SERVER_PROTOCOL    $server_protocol;

        fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
        fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

        fastcgi_param  REMOTE_ADDR        $remote_addr;
        fastcgi_param  REMOTE_PORT        $remote_port;
        fastcgi_param  SERVER_ADDR        $server_addr;
        fastcgi_param  SERVER_PORT        $server_port;
        fastcgi_param  SERVER_NAME        $server_name;

        # required if PHP was built with --enable-force-cgi-redirect
        fastcgi_param  REDIRECT_STATUS    200;
    }


    location /tr/ {
        root   /home/istci/webapps/wordpress_tr/;
        index  index.php index.html index.htm;


        if (!-e $request_filename) {
            rewrite ^(.+)$ /tr/index.php?q=$1 last;
            break;
        }

        if (-f $request_filename) {
            expires 30d;
            break;
        }

    }
}

php-fpm escucha en unix:/home/istci/var/run/wptr.sock. ejecutarlo en modo de depuración no muestra controladores activos, lo que significa que no se realiza ninguna conexión al socket Unix desde nginx.

Registros de acceso de nginx:

127.0.0.1 - - [09/Jun/2010:03:45:11 -0500] "GET /tr/ HTTP/1.0" 404 20 "-" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.4) Gecko/20100527 Firefox/3.6.4"

registros de depuración de nginx:

2010/06/09 03:38:53 [notice] 6922#0: built by gcc 4.1.2 20080704 (Red Hat 4.1.2-48)
2010/06/09 03:38:53 [notice] 6922#0: OS: Linux 2.6.18-164.9.1.el5PAE
2010/06/09 03:38:53 [notice] 6922#0: getrlimit(RLIMIT_NOFILE): 4096:4096
2010/06/09 03:38:53 [notice] 6923#0: start worker processes
2010/06/09 03:38:53 [notice] 6923#0: start worker process 6924
2010/06/09 03:38:53 [notice] 6923#0: start worker process 6925
2010/06/09 03:39:01 [notice] 6925#0: *1 "^(.+)$" matches "/tr/", client: 127.0.0.1, server: www.example.com, request: "GET /tr/ HTTP/1.0", host: "www.example.com"
2010/06/09 03:39:01 [notice] 6925#0: *1 rewritten data: "/tr/index.php", args: "q=/tr/", client: 127.0.0.1, server: www.example.com, request: "GET /tr/ HTTP/1.0", host: "www.example.com"

¿Alguna pista sobre qué está mal con mi configuración? Gracias.

Respuesta1

leer acerca detry_files

location /tr {
    try_files $uri $uri/ /tr/index.php;
}
location /eng {
    try_files $uri $uri/ /eng/index.php;
}

Agrega esto.

información relacionada