GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo configurar un sitio de WordPress de alto rendimiento en la nube

Los desarrolladores tienen varias opciones para alojar un sitio web de WordPress. Si es un desarrollador o propietario de un sitio por primera vez y desea alojar un sitio web de poco tráfico, entonces probablemente debería usar un alojamiento compartido para su sitio web de WordPress. Con el alojamiento compartido, compartir un servidor con otros sitios web reduce los costos de alojamiento para todos en el servidor, lo que lo convierte en la opción más económica. Además, no se requieren habilidades de alojamiento para instalar o mantener el sitio web. Si desea alojar un sitio web que tiene un alto volumen de tráfico, debe utilizar el alojamiento en la nube. Algunas razones comunes para elegir el alojamiento en la nube son el rendimiento y el control que ofrece.

En general, cuando su empresa está en continuo crecimiento, no solo necesita una plataforma de alojamiento robusta para atender a un número cada vez mayor de usuarios, sino también el control para personalizar el servidor para un mejor rendimiento. En este caso, alojar un sitio web de WordPress en la nube es la mejor opción para usted.

La mejor configuración para un sitio web de WordPress de alto rendimiento en la nube es una combinación de Apache, MySQL y Nginx como proxy inverso. Apache es conocido por su potencia y compatibilidad con backend, mientras que Nginx es conocido por su velocidad. El uso de Nginx como proxy inverso para Apache puede mejorar drásticamente el rendimiento de su sitio web de WordPress.

En este tutorial, instalaremos y configuraremos Apache para que se ejecute en el puerto 8080 y configuraremos Nginx como proxy inverso. Nginx procesa las solicitudes de sitios web a través de Apache, y Apache procesa su sitio web de WordPress.

Requisitos

  • Un Ubuntu 18.04 VPS nuevo en Atlantic.Net Cloud Platform.
  • Un nombre de dominio válido apuntado a su dirección IP de VPS. En este tutorial, usaremos example.com.

Paso 1:crear el servidor en la nube de Atlantic.Net

Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo Ubuntu 18.04 como sistema operativo con al menos 2 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.

Una vez que haya iniciado sesión en su servidor Ubuntu 18.04, ejecute el siguiente comando para actualizar su sistema base con los últimos paquetes disponibles.

apt-get update -y

Paso 2:instalar y configurar el servidor web Apache

En esta sección, instalaremos el servidor web Apache y lo configuraremos para que se ejecute en el puerto 8080.

Primero, instale el servidor web Apache ejecutando el siguiente comando:

apt-get install apache2 -y

Después de instalar el servidor web Apache, deberá configurar Apache para que se ejecute en el puerto 8080.

Para hacerlo, edite el archivo /etc/apache2/ports.conf usando su editor de texto preferido:

nano /etc/apache2/ports.conf

Busque la siguiente línea:

Listen 80

Reemplácelo con lo siguiente:

Listen 127.0.0.1:8080

Guarde y cierre el archivo. Luego, deshabilite el archivo de configuración de host virtual predeterminado de Apache con el siguiente comando:

a2dissite 000-default

A continuación, reinicie el servicio Apache para aplicar la configuración:

systemctl restart apache2

En este punto, tiene un servidor web Apache ejecutándose en el puerto 8080.

Paso 3:instalar y configurar MariaDB

En esta sección, instalaremos el servidor de la base de datos MariaDB y crearemos una base de datos y un usuario para WordPress.

Primero, instale el servidor MariaDB con el siguiente comando:

apt-get install mariadb-server -y

Una vez que se complete la instalación, deberá proteger la instalación de MariaDB y establecer la contraseña raíz. Puede hacerlo ejecutando el siguiente script:

mysql_secure_installation

Responda todas las preguntas como se muestra a continuación:

Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

A continuación, inicie sesión en el shell de MariaDB con el siguiente comando:

mysql -u root -p

Proporcione su contraseña raíz cuando se le solicite, luego cree una base de datos y un usuario con el siguiente comando:

CREATE DATABASE wpdb;
GRANT ALL ON wpdb.* TO 'wpuser'@'localhost' IDENTIFIED BY 'password';

A continuación, elimine los privilegios y salga del shell de MariaDB con el siguiente comando:

FLUSH PRIVILEGES;
EXIT;

Ahora tiene una base de datos instalada y configurada en su servidor.

Paso 4:instalar PHP

A continuación, deberá instalar PHP y otros módulos necesarios en su servidor. Puede instalarlos todos con el siguiente comando:

apt-get install php7.2 libapache2-mod-php7.2 php7.2-common php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-gd php7.2-xml php7.2-intl php7.2-mysql php7.2-cli  php7.2-ldap php7.2-zip php7.2-curl unzip -y

Una vez que todos los paquetes estén instalados, abra el archivo php.ini y modifique algunas configuraciones:

nano /etc/php/7.2/apache2/php.ini

Cambie las siguientes líneas:

memory_limit = 256M
upload_max_filesize = 50M
max_execution_time = 360
date.timezone = America/Chicago

Guarde y cierre el archivo cuando haya terminado.

Paso 5:descarga WordPress

En esta sección, descargaremos WordPress y estableceremos permisos en él.

Primero, descargue la última versión de WordPress con el siguiente comando:

cd /var/www/html
wget http://wordpress.org/latest.tar.gz

Una vez descargado, extraiga el archivo descargado con el siguiente comando:

tar -xzvf latest.tar.gz

A continuación, cambie el directorio a wordpress y cambie el nombre del archivo de configuración de muestra:

cd wordpress
mv wp-config-sample.php wp-config.php

A continuación, edite el archivo wp-config.php:

nano wp-config.php

Defina la información de conexión de la base de datos como se muestra a continuación:

/** The name of the database for WordPress */
define('DB_NAME', 'wpdb');

/** MySQL database username */
define('DB_USER', 'wpuser');

/** MySQL database password */
define('DB_PASSWORD', 'password');

/** MySQL hostname */
define('DB_HOST', 'localhost');

Guarde y cierre el archivo. Luego, configure los permisos adecuados para el directorio de wordpress:

chown -R www-data:www-data /var/www/html/wordpress

En este punto, tienes WordPress instalado y configurado en tu servidor.

Paso 6:configurar Apache para WordPress

En esta sección, configuraremos Apache para servir el sitio web de WordPress en localhost. Para hacerlo, cree un nuevo archivo de configuración de host virtual de Apache con el siguiente comando:

nano /etc/apache2/sites-available/wordpress.conf

Agregue las siguientes líneas:

<VirtualHost *:8080>
   ServerAdmin [email protected]
   DocumentRoot /var/www/html/wordpress
   ServerName 127.0.0.1

   <Directory /var/www/html/wordpress/>
      Options Indexes FollowSymLinks MultiViews
      AllowOverride All
      Order allow,deny
      allow from all
   </Directory>

   ErrorLog ${APACHE_LOG_DIR}/wordpress_error.log
   CustomLog ${APACHE_LOG_DIR}/wordpress_access.log combined
</VirtualHost>

Guarde y cierre el archivo. Luego, habilite el archivo de configuración del host virtual de Apache con el siguiente comando:

a2ensite wordpress

A continuación, habilite el módulo de reescritura de Apache y reinicie el servicio de Apache con el siguiente comando:

a2enmod rewrite
systemctl restart apache2

En este punto, Apache está configurado para servir WordPress en localhost.

Paso 7:instalar y configurar Nginx para WordPress

En esta sección, instalaremos y configuraremos Nginx como un proxy inverso que envía la solicitud al servidor web Apache.

Primero, instale el servidor web Nginx con el siguiente comando:

apt-get install nginx -y

Una vez instalado, cree un archivo de configuración de host virtual Nginx con el siguiente comando:

nano /etc/nginx/sites-available/wordpress.conf

Agregue las siguientes líneas:

server {
   listen 80;
   server_name example.com;
   location / {
      try_files $uri @apache;
   }

   location @apache {
      proxy_set_header X-Real-IP  $remote_addr;
      proxy_set_header X-Forwarded-For $remote_addr;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_set_header Host $host;
      proxy_pass http://127.0.0.1:8080;
   }

   location ~[^?]*/$ {
      proxy_set_header X-Real-IP  $remote_addr;
      proxy_set_header X-Forwarded-For $remote_addr;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_set_header Host $host;
      proxy_pass http://127.0.0.1:8080;
   }

   location ~ \.php$ {
      proxy_set_header X-Real-IP  $remote_addr;
      proxy_set_header X-Forwarded-For $remote_addr;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_set_header Host $host;
      proxy_pass http://127.0.0.1:8080;
   }

}

Guarde y cierre el archivo. Luego, verifique Nginx para ver si hay algún error de sintaxis y habilite la configuración.

nginx -t
ln -s /etc/nginx/sites-available/wordpress.conf /etc/nginx/sites-enabled/

Finalmente, reinicie Nginx para aplicar la configuración:

systemctl restart nginx

En este punto, hemos configurado Nginx para enviar solicitudes de proxy al servidor web Apache.

Paso 8:Accede a WordPress

Ahora, abra su navegador web y escriba la URL http://example.com . Será redirigido a la página de selección de idioma de WordPress:

Seleccione el idioma deseado y haga clic en Continuar botón. Debería ver la siguiente página:

Proporcione el nombre de su sitio, el nombre de usuario del administrador, la contraseña y el correo electrónico y haga clic en Instalar WordPress botón. Una vez finalizada la instalación, debería ver la siguiente página:

Haga clic en el Registro En botón. Debería ver la página de inicio de sesión de WordPress:

Proporcione su nombre de usuario y contraseña de administrador de WordPress y haga clic en Iniciar sesión En botón. Deberías ver tu panel de WordPress:

Paso 9:instalar y configurar Redis Cache

Redis es una potente y avanzada base de datos en memoria, persistente y de valores clave. Redis almacena y manipula tipos de datos de alto nivel, incluidas listas, mapas, conjuntos y conjuntos ordenados. Redis proporciona un mecanismo para almacenar en caché sus consultas y acelerar el tiempo de carga de su página de WordPress.

Primero, instale Redis ejecutando el siguiente comando:

apt-get install redis-server php-redis -y

A continuación, deberá configurar Redis como caché para WordPress. Para hacerlo, primero abra el archivo /etc/redis/redis.conf:

nano /etc/redis/redis.conf

Agregue las siguientes líneas al final del archivo:

##Set this memory settings according to the RAM of your server.
maxmemory 128mb
maxmemory-policy allkeys-lru

Guarde y cierre el archivo.

A continuación, deberá habilitar la configuración de caché de Redis en el archivo wp-config.php:

nano /var/www/html/wordpress/wp-config.php

Busque la sección "* Autenticación de claves y sales únicas" y agregue las siguientes líneas al final de esta sección:

define('WP_CACHE_KEY_SALT', 'example.com');
define('WP_CACHE', true);

Guarde y cierre el archivo cuando haya terminado.

A continuación, deberá descargar el script Redis Object Cache del repositorio de Git para indicarle a WordPress que utilice Redis. Puede descargarlo dentro del directorio /var/www/html/wordpress/wp-content como se muestra a continuación:

cd /var/www/html/wordpress/wp-content
wget https://raw.githubusercontent.com/ericmann/Redis-Object-Cache/master/object-cache.php

Una vez descargado, otorgue los permisos adecuados con el siguiente comando:

chown www-data:www-data object-cache.php
chmod 755 object-cache.php

Finalmente, reinicie el servicio Redis y Apache para aplicar los cambios:

systemctl restart redis-server
systemctl restart apache2

Eso es todo. Su sitio de WordPress ahora está utilizando el almacenamiento en caché de Redis.

A continuación, abra su panel de WordPress y navegue por su área de administración. Luego, abre tu terminal y monitorea tu Redis con el siguiente comando:

redis-cli monitor

Conclusión

¡Felicidades! Ha instalado y configurado correctamente WordPress con Nginx como proxy inverso para Apache. Ahora tiene un sitio web de WordPress de alto rendimiento con los beneficios de Apache y Nginx.


Linux
  1. Cómo instalar WordPress en Ubuntu 22.04

  2. Cómo instalar VSFTPD en un servidor Ubuntu Cloud

  3. Cómo instalar VSFTPD en un servidor en la nube de Debian

  4. Cómo instalar Locate en un servidor en la nube de Debian

  5. Cómo instalar VSFTPD en un servidor en la nube de CentOS

Cómo instalar Nginx en el servidor en la nube Debian 8.2

Cómo instalar WordPress en un servidor en la nube Debian 8.2

Cómo instalar WordPress Ubuntu 20.04

Cómo instalar WordPress en un servidor CentOS 8

Cómo instalar y configurar un servidor de base de datos en Jelastic Cloud

Cómo instalar y configurar WordPress con Ansible