Results 1 to 8 of 8

Duda sobre onfiguración de nginx + Apache

This is a discussion on Duda sobre onfiguración de nginx + Apache within the Español forums, part of the General Discussion category; Hola Me gustaría utilizar el servidor Nginx como frontend y Apache como backend para que sirva el contenido dinámico de ...

  1. #1
    Junior Member
    Real Name
    snoozer
    Join Date
    Oct 2006
    Posts
    8
    Liked
    0 times

    Duda sobre onfiguración de nginx + Apache

    Hola

    Me gustaría utilizar el servidor Nginx como frontend y Apache como backend para que sirva el contenido dinámico de mi sitio.

    El problema es que si incluyo esta línea en la configuración de nginx:

    Code:
    try_files $uri $uri/ /forums/vbseo.php?$args;
    ... provoca que todos los archivos, incluyendo los estáticos, sean servidos por Apache.

    ¿De qué manera puedo hacer que esa regla solo afecte a los archivos en .php? He probado a insertarla dentro de "location ~ \.php$" en lugar de en el "location /", sin éxito.

    Muchas gracias y un saludo

  2. #2
    vBSEO Staff Andrés Durán Hewitt's Avatar
    Real Name
    Andrés Durán
    Join Date
    Jul 2009
    Location
    Costa Rica
    Posts
    3,393
    Liked
    411 times
    Blog Entries
    1
    Hola,

    ¿Te has asegurado que nginx y Apache no estén ambos siendo servidos desde el mismo puerto?.
    Andrés Durán / Crawlability Inc.
    ¡vBSEO 3.6.0 GOLD Liberado!
    Inaugurando el NUEVO vBSEO Sitemap Generator 3.0. - ¡AHORA disponible para Clientes de vBSEO!

    Síguenos en: Facebook | Síguenos en: Twitter


  3. #3
    Junior Member
    Real Name
    snoozer
    Join Date
    Oct 2006
    Posts
    8
    Liked
    0 times
    Sí, de hecho todo funciona perfectamente con el vBSEO desactivado, es decir, los estáticos se sirven mediante nginx y el contenido dinámico (.php) con Apache (esto lo he comprobando revisando las cabeceras enviadas al navegador).

    Sin embargo, con el vBSEO habilitado y las reglas puestas tal como viene en el fichero de configuración standard para Nginx, todo se sirve por Apache (supongo que porque desvía todo a vbseo.php, que es dinámico y, por tanto, ha de ser servido por Apache). También probé con este código, pero obtengo páginas en blanco generadas por Apache y de nuevo todo se sirve por Apache.

    Muchas gracias

  4. #4
    vBSEO Staff Andrés Durán Hewitt's Avatar
    Real Name
    Andrés Durán
    Join Date
    Jul 2009
    Location
    Costa Rica
    Posts
    3,393
    Liked
    411 times
    Blog Entries
    1
    ¿Cuál es el contenido del archivo de configuración de nginx?.
    Andrés Durán / Crawlability Inc.
    ¡vBSEO 3.6.0 GOLD Liberado!
    Inaugurando el NUEVO vBSEO Sitemap Generator 3.0. - ¡AHORA disponible para Clientes de vBSEO!

    Síguenos en: Facebook | Síguenos en: Twitter


  5. #5
    Junior Member
    Real Name
    snoozer
    Join Date
    Oct 2006
    Posts
    8
    Liked
    0 times
    Hola de nuevo, Andrés:

    Este es el contenido de mi virtualhost:

    Code:
        listen    80;
        server_name  www.dominio.com;
    
    
        #charset koi8-r;
        #access_log  /var/log/nginx/log/host.access.log  main;
    
    
        location / {
            root   /var/www/dominio/public_html;
            index  index.php index.html index.htm;
    
            ### COSAS DE VBSEO ###
            rewrite ^/((urllist|sitemap_).*\.(xml|txt)(\.gz)?)$ /vbseo_sitemap/vbseo_getsitemap.php?sitemap=$1 last;
            try_files $uri $uri/ /vbseo.php?$args;
        }
    
    
        ### FORZAMOS QUE NGINX SIRVA CONTENIDO ESTATICO ###
        location ~* ^.+.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|doc|xls|pdf|ppt|txt|tar|js|htm|html)$ {
            expires 30d;
            root /var/www/dominio/public_html;
        }
    
    
        #error_page  404              /404.html;
    
    
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    
    
        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}
    
    
        # pass the PHP scripts to Apache server listening on 127.0.0.1:8081
        #
        location ~ \.php$ {
        root   /var/www/dominio/public_html;
        proxy_pass         http://127.0.0.1:8081;
        include            proxy_params;
    
    
        }
    
    
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
    
    
        location ~ /\.ht {
            deny  all;
        }
    
    
        location ~ /(.*\.php)$ {
           rewrite ^/(.*)$ /vbseo.php last;
    }
    
    
        location /vbseo/(includes|resources/html|resources/xml)/ {
                    allow      127.0.0.1;
                    deny      all;
    }
    
    
    }
    Acabo de añadir las líneas que siguen a "FORZAMOS QUE NGINX SIRVA CONTENIDO ESTATICO". Esto puede ser la solución, pero las URL de vbSEO me generan errores "404 Not found", aunque servidos Apache, mientras que el contenido estático se sirve bien por Nginx. En este punto, ¿será que es necesario hacer algún tipo de configuración en Apache para que reconozca las URLs que le pasa Nginx para servir? ¿O la clave está en la configuración de Nginx, que para eso actúa de frontend?

    Gracias de nuevo!

  6. #6
    vBSEO Staff Andrés Durán Hewitt's Avatar
    Real Name
    Andrés Durán
    Join Date
    Jul 2009
    Location
    Costa Rica
    Posts
    3,393
    Liked
    411 times
    Blog Entries
    1
    Trata de mover las reglas de vBSEO *por encima* de la directiva que sirve el contenido estático y reinicia nginx. Hazme saber si aún experimentas el problema.
    Andrés Durán / Crawlability Inc.
    ¡vBSEO 3.6.0 GOLD Liberado!
    Inaugurando el NUEVO vBSEO Sitemap Generator 3.0. - ¡AHORA disponible para Clientes de vBSEO!

    Síguenos en: Facebook | Síguenos en: Twitter


  7. #7
    Junior Member
    Real Name
    snoozer
    Join Date
    Oct 2006
    Posts
    8
    Liked
    0 times
    Hola Andrés,

    Al desplazar las reglas de vBSEO hacia arriba obtengo un "500 Internal Server Error".

    El contenido del log es este:

    Code:
    2011/12/11 08:28:06 [error] 14615#0: *194 rewrite or internal redirection cycle while processing "/vbseo.php", client: 81.61.XX.XX, server: www.dominio.com, request: "GET /foro-general/ HTTP/1.1", host: "www.dominio.com"
    Un saludo.

  8. #8
    Junior Member
    Real Name
    snoozer
    Join Date
    Oct 2006
    Posts
    8
    Liked
    0 times
    Hola Andrés,

    He logrado hacer funcionar el sistema con vBSEO configurando el mod_rewrite en el backend (Apache), manteniendo en el frontend (Nginx) la configuración que fuerza la carga de los estáticos por Nginx, y estos dos parámetros:

    Code:
    rewrite ^/((urllist|sitemap_).*\.(xml|txt)(\.gz)?)$ /vbseo_sitemap/vbseo_getsitemap.php?sitemap=$1 last;
    try_files $uri $uri/ /vbseo.php?$args;
    Sin embargo, he tenido que comentar este parámetro para evitar el error 500:

    Code:
    location ~ /(.*\.php)$ {
    rewrite ^/(.*)$ /vbseo.php last;
    }
    He tratado de averiguar configuraciones para otras plataformas (Drupal, etc.), sin que haya encontrado nada que me haya servido, ya que todo habla de pasar los .php a Apache, pero para que el sistema no se líe con las URL friendly no he sabido encontrar nada...

    Como te decía, he conseguido hacerlo funcionar así. No sé si habrás podido averiguar otra manera más sencilla, especialmente si se trata de hacer una única configuración en el frontend (Nginx) y dejando lo standard en Apache.

    Mil gracias por tu ayuda!

Similar Threads

  1. pequeña duda sobre cambio de nombre de foro
    By ___A___J___G___ in forum Español
    Replies: 1
    Last Post: 06-24-2011, 04:50 PM
  2. Rewrite from Apache to nginx
    By Hiiragi in forum URL Rewrite Settings
    Replies: 0
    Last Post: 07-13-2009, 07:04 PM
  3. Rewrite from apache to nginx
    By nfn in forum Custom Rewrite Rules
    Replies: 6
    Last Post: 01-27-2009, 08:30 AM
  4. Replies: 2
    Last Post: 11-22-2007, 12:32 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •