Cómo instalar WordPress usando Nginx en Ubuntu
Nginx es un servidor web de código abierto, lanzado por primera vez en 2004, escrito completamente en el lenguaje de programación C. Este servidor tiene muchos beneficios que podrás descubrir en este tutorial, en el que te mostraremos cómo instalar WordPress con Nginx.
Descarga la hoja de trucos de WordPress definitiva
Tabla de Contenidos
¿Por qué usar Nginx con WordPress?
Nginx ha ganado una inmensa popularidad recientemente y se utiliza comúnmente como una alternativa al servidor web Apache. Nginx admite proxy inverso, almacenamiento en caché, transmisión de medios, equilibrio de carga y mucho más. Todo esto lo hace ideal para ejecutar un sitio web de WordPress impulsado por un servidor VPS.
Te mencionamos algunas de las características destacadas de Nginx:
- Se trata de un servidor diseñado para funcionar con poco uso de memoria.
- Puede soportar una concurrencia extremadamente alta.
- Cuenta con Ipv6 habilitado.
- Admite proxy inverso con almacenamiento en caché eficiente.
- Proporciona un equilibrador de carga incorporado.
- Soporta WebSockets.
- Maneja de forma óptima archivos de índice y archivos estáticos y proporciona indexación automática.
- Se acompaña con FastCGI para un almacenamiento en caché eficiente.
Nginx es mucho más que un servidor web convencional, la cual es una de las razones por las que ha ganado tanta popularidad. Nginx eclipsa muchos servidores web heredados y proporciona constantemente puntos de referencia que superan su rendimiento.
Este servidor resuelve muchos problemas de escalabilidad y se toma como una solución al problema C10K comúnmente relacionado con un gran número de visitantes.
Y como ya sabes, ¡Nginx y WordPress funcionan muy bien juntos!
En este post, te guiaremos a través de la instalación de WordPress usando Nginx en la plataforma Linux.
Similar a LAMP, el uso de Nginx se conoce como LEMP, que significa Linux, Nginx, MySQL / MariaDB y PHP.
Prerrequisitos para instalar WordPress usando Nginx
- Haber iniciado sesión con acceso sudo
- Tener Nginx preinstalado
- Tener un certificado SSL instalado para tu dominio
- Contar con un nombre de dominio que apunte a la IP pública de tu servidor. En este ejemplo usaremos ejemplo.com
Cómo instalar WordPress con Nginx
Veamos todo el proceso:
1. Actualiza tu sistema
Actualiza el índice del paquete usando:
sudo apt update
Actualiza los paquetes del sistema a la última versión usando:
sudo apt upgrade
2. Instala Nginx
Los paquetes de Nginx están disponibles en el repositorio predeterminado de Ubuntu. Puedes usar el siguiente comando para instalarlos:
sudo apt install nginx
La instalación tardará un poco. Una vez que se complete la instalación, el servicio Nginx se iniciará automáticamente. Para conocer el estado del servicio, usa el siguiente comando:
sudo systemctl status nginx
3. (Opcional) Configura UFW
Si estás utilizando Firewall sin complicaciones (UFW, por sus siglas en inglés) para administrar tu firewall VPS, entonces tendrás que abrir los puertos 80 y 443 para HTTP y HTTPS respectivamente. Puedes habilitar el perfil completo de Nginx que contiene reglas para ambos puertos. Esto se puede hacer usando:
sudo ufw allow 'Nginx Full'
Para verificar el estado, puedes usar:
sudo ufw status
4. Instala y configura la base de datos MySQL
Para almacenar datos usaremos MySQL. En caso de que no tengas instalado MySQL, puedes obtenerlo usando:
sudo apt install mysql-server
Una vez que esto se haya completado, la base de datos MySQL se iniciará automáticamente. Puedes usar el siguiente comando para verificar el estado:
sudo systemctl status mysql
A continuación, podrás iniciar sesión en el shell de MySQL utilizando:
mysql -u root -p
Esto te cambiará a la consola MySQL. Aquí puedes crear una base de datos y un usuario de la mism con los nombres WordPress y WordPressUser respectivamente.
mysql> CREATE DATABASE WordPress CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
mysql> GRANT ALL ON WordPress.* TO WordPressUser @'localhost' IDENTIFIED BY 'tu contraseña';
mysql> FLUSH PRIVILEGES;
mysql> EXIT;
Esto crea una configuración de base de datos básica que se puede usar para la configuración de WordPress.
5. Instala PHP
Puedes instalar todas las extensiones PHP requeridas directamente, con un solo comando, ya que estas son las únicas que utilizará WordPress. Esto lo puedes hacer usando:
sudo apt install php7.2-cli php7.2-fpm php7.2-mysql php7.2-json php7.2-opcache php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl
Al finalizar esta instalación, PHP-FPM se iniciará automáticamente. Este es un administrador de procesos Fast CGI que permite el almacenamiento en caché.
6. Instala WordPress con Nginx
Para instalar WordPress con Nginx, primero crea un directorio para descargar el archivo de WordPress:
sudo mkdir -p /var/www/html/ejemplo.com
Desde el sitio web oficial de WordPress, puedes descargar las últimas instalaciones de WordPress. Descárgalo en el directorio /tmp. Puedes acceder a dicho directorio usando cd y descargar el archivo usando wget:
cd /tmp
wget https://wordpress.org/latest.tar.gz
A continuación, puedes extraer este archivo en el directorio creado anteriormente. Esto se puede hacer usando:
tar xf latest.tar.gz
sudo mv /tmp/wordpress/* /var/www/html/ejemplo.com/
El servidor web requerirá acceso completo a estos archivos. Cambiea el permiso usando:
sudo chown -R www-data: /var/www/html/ejemplo.com
Debes tener en cuenta que Nginx y PHP se ejecutan como el usuario y grupo www-data, es por esto que se usa en el comando anterior.
7. Configura Nginx para WordPress
Para configurar Nginx para WordPress, tienes que crear un nuevo bloque de servidor para tu instalación de WordPress. Navega a /etc/nginx/sites-available. Allí, crea un archivo con tu nombre de dominio, en nuestro ejemplo sería ejemplo.com.
Agrega este código al archivo recién creado:
# Redirect HTTP -> HTTPS server { listen 80; server_name www.ejemplo.com ejemplo.com; include snippets/letsencrypt.conf; return 301 https://ejemplo.com$request_uri; } # Redirect WWW -> NON-WWW server { listen 443 ssl http2; server_name www.ejemplo.com; ssl_certificate /etc/letsencrypt/live/ejemplo.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/ejemplo.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/ejemplo.com/chain.pem; include snippets/ssl.conf; return 301 https://ejemplo.com$request_uri; } server { listen 443 ssl http2; server_name ejemplo.com; root /var/www/html/ejemplo.com; index index.php; # SSL parameters ssl_certificate /etc/letsencrypt/live/ejemplo.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/ejemplo.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/ejemplo.com/chain.pem; include snippets/ssl.conf;include snippets/letsencrypt.conf; # log files access_log /var/log/nginx/ejemplo.com.access.log; error_log /var/log/nginx/ejemplo.com.error.log; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.2-fpm.sock; } location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { expires max; log_not_found off; } }
Recuerda, todo lo que diga ‘ejemplo.com’ debes sustituirlo por tu nombre de dominio.
Para una administración más fácil, crea un enlace simbólico al directorio sites-enabled.
sudo ln -s /etc/nginx/sites-available/ejemplo.com /etc/nginx/sites-enabled/
Puedes validar la configuración de Nginx utilizando:
sudo nginx -t
Si esto no tiene errores, verá un mensaje mostrando ‘syntax is ok’. Puedes ignorar el resto del mensaje.
A continuación, puedes reiniciar Nginx usando:
sudo systemctl restart nginx
Habiendo llegado a este punto tendrás PHP, MySQL y Nginx configurados e iniciados. A continuación, configura y verifica la instalación de WordPress.
8. Configura WordPress para Nginx
¡Ya casi terminas! ¡El último paso es configurar tu propio WordPress!
Abre tu navegador y escribe el nombre de dominio como lo harías con http://ejemplo.com. ¡Reemplaza esto con tu dominio!
Podrás ver una pantalla que muestra la selección de idioma. Elige tu opción preferida.
Verás una página de instrucciones que puedes leer y pasar a la página siguiente. En la siguiente pantalla, puedes configurar los detalles de tu Base de datos.
Proporciona el nombre de tu base de datos junto con el nombre de usuario y la contraseña. Para el ejemplo, usamos WordPress para el nombre de la base de datos y WordPressUser para el nombre de usuario.
Puedes comenzar la instalación haciendo clic en el botón.
En la página siguiente, puedes proporcionar detalles adicionales. En este paso, configurarás el nombre de usuario para WordPress.
Por seguridad, debes cambiar el nombre de usuario de administrador a otra cosa. Haz clic en el botón Instalar WordPress. Esto te redirigirá a la página de inicio de sesión donde puedes escribir tu nombre de usuario y contraseña de WordPress recién configurados.
Una vez que hayas iniciado sesión, podrá ver el panel de WordPress.
Desde aquí puedes configurar tu WordPress, establecer nuevos temas, agregar complementos y más.
Conclusión
A través de este tutorial, has aprendido cómo puedes instalar WordPress usando Nginx en Ubuntu. Bingo, acabas de lograr una configuración completa de uno de los CMS más populares. ¡Anímate y diviértete explorando el poder de WordPress con las características adicionales de un poderoso servidor virtual privado!