¿Cómo configurar sitios de WordPress de carga rápida en DigitalOcean?

Inicie sitios de WordPress (WP) en DigitalOcean (DO) en menos de 10 minutos.

Los bloggers novatos o los propietarios de sitios a menudo preguntan cómo hacer que el sitio se cargue más rápido en el alojamiento compartido y conocen la limitación. Y después de pasar por algunos momentos de frustración, quieren pasar del alojamiento compartido al alojamiento en la nube.

Una de las primeras plataformas de alojamiento en la nube que viene a la mente es DigitalOcean.

DO es excelente para comenzar; es más económico que AWS y GCP, escalable, rápido y ofrece todas las características que puede esperar.

Pero configurar un sitio es un desafío si no está familiarizado con las tareas de administración del sistema. SÍ te da el sistema operativo y todo lo que necesitas para cuidarte. También puedes optar por Nubes alojamiento web y configure un servidor web de DigitalOcean con solo unos pocos clics si no quiere meterse en todos esos tecnicismos de configuración del servidor. También ofrecen gotas premium de Digitalocean.

Después de recibir muchas preguntas por correo electrónico sobre cómo configurar el sitio WP en DO, pensé en armar un procedimiento para que una audiencia más amplia se beneficiara.

Antes de pasar a la implementación técnica, tenga en cuenta que DO no es un registrador de dominios. Lo que significa que no puedes comprarles un dominio. Supongo que ya tiene un dominio, y si no lo tiene y desea obtener uno nuevo, compre en Namecheap.

Vamos a ponerlo en marcha…

Hay varias formas de configurar WordPress, pero una de las formas más fáciles que he encontrado es usando EasyEngine. En este tutorial, usaremos EasyEngine para instalar todo el software necesario y crear un sitio WP.

Obtener un servidor de DigitalOcean

DO tiene centros de datos en múltiples ubicaciones a nivel mundial. Elige más cerca de tu audiencia.

  • Inicie sesión (regístrese si aún no tiene una cuenta) en DigitalOcean
  • Cree una nueva gota y elija Ubuntu 18.x como sistema operativo
  • Elija un plan de gotas según el requisito, pero si está comenzando, entonces 2 GB o 3 GB de RAM deberían estar bien
  • Elija monitorear como una opción adicional
  • Dar nombre de host y haga clic en crear

Tomará alrededor de un minuto, y debería ver el servidor recién creado en la lista.

DO enviaría la credencial del servidor a su correo electrónico registrado.

  • Inicie sesión en el servidor con la credencial y la IP proporcionadas utilizando el cliente SSH

Cuando inicie sesión por primera vez, le pedirá que cambie la contraseña. Eso es lo esperado y recomendado para cambiar a una contraseña compleja.

Instalación de EasyEngine

Una vez que el servidor está listo, es hora de instalar EasyEngine (EE). EE es un excelente script de automatización que lo ayuda a crear múltiples tipos de sitios con un simple comando. Lo bueno de EE es que no tiene que preocuparse por configurar componentes individuales como Nginx, MariaDB, Redis, PHP, etc. Todo se gestiona en segundo plano, ¡y es completamente GRATIS!

La última versión de EE aprovecha Docker pero, de nuevo, no es necesario que los conozca. EE está listo para la producción y es amado por miles de sitios de mucho tráfico.

Déjame mostrarte lo fácil que es usar EasyEngine. Supongo que todavía está conectado a un servidor de DigitalOcean.

  • Actualicemos ejecutando el siguiente comando
apt-get update
  • Y, instale el EE con el siguiente comando
wget -qO ee rt.cx/ee4 && sudo bash ee

Tomará unos minutos instalar el software necesario en segundo plano y, una vez hecho esto, lo llevará al indicador.

Status: Downloaded newer image for easyengine/redis:v4.0.0
+-------------------+----------------------------------------------------------------------------+
| OS                | Linux 4.15.0-45-generic #48-Ubuntu SMP Tue Jan 29 16:28:13 UTC 2019 x86_64 |
| Shell             | /bin/bash                                                                  |
| PHP binary        | /usr/bin/php7.2                                                            |
| PHP version       | 7.2.15-1+ubuntu18.04.1+deb.sury.org+1                                      |
| php.ini used      | /etc/php/7.2/cli/php.ini                                                   |
| EE root dir       | phar://ee.phar                                                             |
| EE vendor dir     | phar://ee.phar/vendor                                                      |
| EE phar path      | /root                                                                      |
| EE packages dir   |                                                                            |
| EE global config  |                                                                            |
| EE project config |                                                                            |
| EE version        | 4.0.10                                                                     |
+-------------------+----------------------------------------------------------------------------+
-----> Run "ee help site" for more information on how to create a site.
[email protected]:~#

Esto concluye que EasyEngine está instalado y listo para usar.

Crear un sitio de WordPress

EE tiene una opción para crear un sitio de WordPress con caché Redis, que funciona mejor. Uso Redis en kirukiru.es y estoy contento con él, por lo que recomendaría probarlo.

Vamos a crear un sitio WP en un dominio con caché Redis.

ee site create geekflarelab.com --type=wp --cache

Arriba, estoy usando el comando ee para crear un sitio con el nombre de dominio geekflarelab.com y escribir como WordPress con la opción de almacenamiento en caché.

Tardará unos segundos y debería ver un mensaje de éxito como el siguiente.

Configuring project.
Creating WordPress site geekflarelab.com
Copying configuration files.
Starting site's services.
Downloading and configuring WordPress.
Moved /var/www/htdocs/wp-config.php to /var/www/wp-config.php successfully
Success: Host entry successfully added.
Checking and verifying site-up status. This may take some time.

Installing WordPress site.
Success: http://geekflarelab.com has been created successfully!
Site entry created.
Creating cron entry
Success: Cron created successfully
+--------------------+----------------------------------------+
| Site               | http://geekflarelab.com                |
+--------------------+----------------------------------------+
| Site Root          | /opt/easyengine/sites/geekflarelab.com |
+--------------------+----------------------------------------+
| Site Title         | geekflarelab.com                       |
+--------------------+----------------------------------------+
| WordPress Username | inspiring-galois                       |
+--------------------+----------------------------------------+
| WordPress Password | xxxxxxxxxxxx                           |
+--------------------+----------------------------------------+
| DB Host            | global-db                              |
+--------------------+----------------------------------------+
| DB Name            | geekflarelab_com                       |
+--------------------+----------------------------------------+
| DB User            | geekflarelab.com-DRf3pP                |
+--------------------+----------------------------------------+
| DB Password        | xxxxxxxxxxxx                           |
+--------------------+----------------------------------------+
| E-Mail             | [email protected]                 |
+--------------------+----------------------------------------+
| SSL                | Not Enabled                            |
+--------------------+----------------------------------------+
| Cache              | Enabled                                |
+--------------------+----------------------------------------+
[email protected]:~#

Genial, entonces mi sitio WP está creado. EasyEngine se encarga de Nginx, la base de datos, la optimización de PHP, para que no tenga que realizar ningún cambio

Es hora de probarlo.

¿Crees que funcionará cuando ingrese a geekflarelab.com?

¡No!

Tengo que actualizar un registro de un dominio para que apunte a la IP del servidor de DigitalOcean.

  • Inicie sesión en la consola del registrador de dominios y actualice el registro A.

Ahora, puedo acceder a geekflarelab.com

Verá, en solo unos minutos, tengo WP ejecutándose en el servidor de nube DO.

También preferiría hacer lo siguiente.

Cambio de puerto SSH

Por defecto, el puerto SSH es el 22 y todo el mundo lo sabe. Esto ayuda a un atacante a realizar un ataque de fuerza bruta, y si la contraseña del servidor es débil, entonces su servidor podría ser pirateado. Cambiar el puerto predeterminado a otra cosa sería una victoria rápida.

He explicado cómo cambiar el puerto SSH en el siguiente artículo.

https://kirukiru.es.com/cloud-vm-security-guide/#1-Changing-SSH-Default-Port

Implementación del certificado SSL/TLS

Es obligatorio tener tu sitio sobre HTTPS, y lo bueno es que puedes obtenerlo gratis. Si no desea involucrarse en una implementación técnica prolongada, le recomendaría probar Cloudflare.

Cloudflare ofrece SSL GRATIS, junto con otras ventajas de rendimiento y seguridad.

Asegurar WordPress

No deje WordPress sin seguridad.

Hay varios complementos disponibles, pero si el presupuesto lo permite, busque una solución premium. Puede elegir ir con el Llamarada de la nube Plan PRO o SUCURI. Ambos ofrecen funciones integrales de rendimiento y seguridad, que incluyen certificado SSL GRATUITO, prevención de ataques DDoS, mitigación de las 10 principales vulnerabilidades de OWASP, etc.

¿Qué tan rápido es el sitio WP de DigitalOcean?

Bueno, es difícil generalizar esto ya que cada sitio es único. Pero, solo para darte una idea, hice algunas pruebas de carga y aquí está el resultado.

instalé el Autoridad Pro tema por StudioPress y poner a prueba algunas publicaciones ficticias con Blazemeter.

Bastante impresionante. ¿no es así?

Como puedes ver, la prueba se hizo con 50 usuarios durante 5 minutos desde el norte de California, y el resultado es excelente.

  • Tiempo medio de respuesta: 351,19 ms
  • Error – 0%

Cualquier cosa menos de 1 segundo es impresionante.

Conclusión

Si está en un alojamiento compartido y busca mudarse a la nube y está listo para dedicar tiempo a la configuración, entonces DigitalOcean sería una buena opción. Sin embargo, si no tiene tiempo ni habilidades para administrarse a sí mismo, le recomiendo que eche un vistazo a Kinsta.

Kinsta es una plataforma de alojamiento de WP administrada de primera calidad que aprovecha Google Cloud Platform para ofrecer el mejor rendimiento y seguridad.