Cómo configurar Nginx para Wordpress Multisite con subdirectorios | Mundo de la informática

Close Ad
mundo de la informática
ESTADOS UNIDOS

- Comunidad IDG TECH (discusión)
- ventanas
- Tipo IA
- Software de oficina
- Manzana
- Boletines
- Eventos

| ×

×
How-To

# How to configure Nginx for Wordpress Multisite with subdirectories

### Multisite specific directives

By Matthew Mombrea

ITworld | Jan 20, 2015 4:00 am PST

He estado ejecutando Wordpress en Nginx durante un par de años con gran éxito en nuestro centro de datos. Organizamos aproximadamente 100 instalaciones en máquinas virtuales modestamente aprovisionadas, algunas de las cuales manejan más de 1 millón de páginas vistas por mes. Con algunas directivas específicas de Nginx, también puede implementar Wordpress Multisite en formato de subdominio o subdirectorio, pero la documentación sobre este último es confusa. Esta publicación es un intento de hacer que los pasos sean claros y concisos.

[Ver también: Cómo empezar con Nginx]

Sin embargo, antes de seguir este camino, le recomiendo que observe de cerca las necesidades comerciales y se asegure de que realmente necesita o desea una instalación multisitio. Hay muchos conceptos erróneos. Aquí hay algunas buenas lecturas que lo ayudarán a tomar una decisión:

[Lectura adicional: explicación del navegador Chromium de Google ]

- No utilice Wordpress multisitio
- WordPress multisitio: qué es y por qué debería importarle
- Cuándo y cuándo no utilizar WordPress multisitio

¿Sigues tomando la decisión correcta? Aquí se explica cómo configurarlo en Nginx.

Data shows productivity benefits of four-day work week | Ep. 68
1 segundo de 31 minutos, 2 segundos Volumen 0%
Press shift question mark to access a list of keyboard shortcuts
Keyboard Shortcuts
Play/PauseSPACE
Increase Volume↑
Decrease Volume↓
Seek Forward→
Seek Backward←
Captions On/Offc
Fullscreen/Exit Fullscreenf
Mute/Unmutem
Decrease Caption Size-
Increase Caption Size+ or =
Seek %0-9
Live
07:08
23:53
31:02

## Paso 1

Instale Wordpress como lo haría normalmente para un solo sitio. Esta no es una guía para empezar desde cero con Wordpress y Nginx, pero aquí hay un buen tutorial para ello .

Una vez que su sitio esté configurado como una instalación normal de Wordpress, habilite la opción Multisitio agregando una línea a su archivo wp-config.php. Añade esta línea justo encima de donde dice "/* Eso es todo, ¡deja de editar! Feliz blog. */":

    /* Multisite */
    define( 'WP_ALLOW_MULTISITE', true );

Aparecerá una nueva opción en el panel de administración de Wordpress en Herramientas -> Configuración de red

[¡ REGÍSTRESE AHORA para el último evento FutureIT del año! Taller exclusivo de desarrollo profesional disponible. FutureIT Nueva York, 8 de noviembre ]
wordpress.org
wordpress.org

## Paso 2

Elija la opción de instalación Subdirectorio y haga clic en Instalar. Una vez completado, tendrá algunas líneas nuevas para agregar a su archivo wp-config.php. Estas líneas diferirán según su instalación, pero se le proporcionarán una vez completada la instalación.

Wordpress.org

Copie las 6 líneas nuevas en su archivo wp-config e ignore las reglas .htaccess por ahora.

Ahora tendrá un "Sitio" separado llamado Administrador de red en la parte superior izquierda de su sección de Administrador.

Wordpress.org

## Paso 3

Cree un nuevo sitio en su red para fines de prueba (o uno real si lo desea). Cuando lo haga, especificará la ruta del subdirectorio que desea utilizar para el sitio. El proceso debería completarse exitosamente, pero visitar la URL aún no funcionará correctamente.

En la sección Administrador de red, instale un nuevo complemento llamado Nginx Helper . Una vez instalado y activado, visite la página de configuración del complemento y marque la casilla junto a "Habilitar mapa Nginx". Esto mostrará una nueva sección que muestra una ruta del sistema de archivos a su archivo de mapa y las asignaciones de sitio reales que se están generando.

Wordpress.org

Estas asignaciones de nginx son la clave para que los subdirectorios funcionen en varios sitios. Cada sitio nuevo en su red tendrá una ruta de directorio y una identificación de blog. El mapeo vincula el subdirectorio en la URL con el sitio adecuado en la base de datos. Mantenga la ruta del mapa Nginx a mano para el siguiente paso.

## Etapa 4

Ya casi hemos llegado, solo necesitamos configurar Nginx para que funcione con sitios múltiples y subdirectorios ahora. Esto requiere acceso de terminal al archivo Nginx vhost del sitio, generalmente a través de SSH. Si no sabe lo que eso significa, deberá comunicarse con el administrador de su servidor.

SSH al archivo de configuración del sitio Nginx, en Debian/Ubuntu está en /etc/nginx/sites-available

Utilice su editor de texto favorito para modificar el archivo .vhost del sitio en el que está trabajando.

En la parte superior del archivo, fuera del bloque server{}, agregue la siguiente directiva de mapa usando la ruta del mapa de Nginx del Paso 3:

    map $http_host $blogid {
        default 0;
        include /var/www/pathtoyoursite/wp-content/uploads/nginx-helper/map.conf;
    }

Esto leerá las asignaciones de blog generadas por el complemento Nginx Helper. Incluirlo de esta manera permitirá que el complemento actualice el archivo de asignaciones automáticamente a medida que agrega nuevos sitios y no tendrá que cambiar su configuración de Nginx nuevamente.

Finalmente, aún en su archivo .vhost, agregue las siguientes directivas de Nginx en la parte inferior del bloque server{}, reemplazando cualquier directiva existente de Wordpress que ya haya definido, generalmente siguiendo la directiva de ubicación @php{}:

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

    location ~ ^/files/(.*)$ {
      try_files /wp-content/blogs.dir/$blogid/$uri /wp-includes/ms-files.php?file=$1 ;
      access_log off; log_not_found off; expires max;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
    	expires 24h;
    	log_not_found off;
    }

    location ^~ /blogs.dir {
    	internal;
    	alias /var/www/pathtoyoursite/web/wp-content/blogs.dir ;
    	access_log off; log_not_found off;      expires max;
    }

    if (!-e $request_filename) {
    	rewrite /wp-admin$ $scheme://$host$uri/ permanent;
    	rewrite ^/[_0-9a-zA-Z-]+(/wp-.*) $1 last;
    	rewrite ^/[_0-9a-zA-Z-]+(/.*\.php)$ $1 last;
    }

Tenga en cuenta la línea de alias en el penúltimo bloque de directiva; deberá actualizarla con la ruta a su instalación de WordPress.

## Último paso

Reinicie nginx para aplicar la configuración.

Esta historia, "Cómo configurar Nginx para Wordpress Multisite con subdirectorios" fue publicada originalmente por mundo de TI .

Matthew Momrea es ingeniero de software, fundador de Cypress North y entusiasta de la tecnología.

Las opiniones expresadas en este blog son las del autor y no necesariamente representan las de ITworld, su matriz, subsidiaria o empresas afiliadas.

Seguir

Copyright © 2015 IDG Communications, Inc.

Es hora de romper con el hábito de ChatGPT
Compre productos tecnológicos en Amazon
``
``

### Computerworld wants to show you notifications

#### You can turn off notifications at any time from your browser

##### Powered by subscribers