¿Cómo configurar un sitio de WordPress de carga rápida en Google Cloud?

Una guía paso a paso para lanzar un sitio de WordPress de alto rendimiento en Google Cloud Platform (GCP) usando WordOps.

Cuando empiezas como bloguero o diriges una pequeña empresa, alojamiento compartido está bien, ya que cuesta menos y no se requieren habilidades de hosting para instalar/configurar/mantener la plataforma de infraestructura.

Sin embargo, cuando aumenta el tráfico o la base de usuarios, necesita una plataforma de alojamiento robusta para atender a millones de clientes sin ralentizar el sitio.

Hay algunos proveedores de alojamiento premium para sitios web con mucho tráfico, pero eso costaría fácilmente más de $ 100 por mes.

Nota: Kinsta anunció recientemente un plan de inicio a partir de $ 30 por mes, que aprovecha GCP.

Sin embargo, si está de acuerdo con pasar un poco de tiempo aprendiendo y haciéndolo usted mismo, puede pensar en servidores VPS/Cloud. Este artículo explicará cómo ejecutar un sitio de WordPress en Google Cloud Platform en menos de 15 minutos.

Esta configuración costaría alrededor de $ 25 por mes y estaría lista para servir 500,000 páginas vistas por mes. Después de la configuración, haré una prueba de carga para verificar el rendimiento.

Requisito previo

  • Supongo que ya tienes un dominio; si no, puedes comprar en Namecheap o Google.
  • Cuenta en la nube de Google con facturación habilitada
  • Algunos temas de WordPress, pero usaré el Periódico por etiqueta div.

Aprovisionar un nuevo servidor en la nube de Google

  • Inicie sesión en Google Cloud y vaya a Compute Engine >> Instancias de VM (enlace directo)
  • Haga clic en «Crear instancia» e ingrese la información requerida.
  • Seleccione la zona (elija la ubicación más cercana a su público objetivo)
  • Elija el tipo de máquina.
  • Cambie el disco de arranque a Ubuntu 18.04 LTS y el tipo de disco de arranque a disco persistente SSD con un tamaño de 10 GB.
  • Permita el cortafuegos HTTP y HTTPS y haga clic en Crear

En unos segundos tendrás lista la nueva instancia.

Instalación de WordPress usando WordOps

Hay varias formas de instalar WordPress, pero una de las más fáciles es usar WordOps.

WordOps es un contenedor de secuencias de comandos que se encarga de instalar los componentes necesarios, como una base de datos, PHP-FPM, Nginx, WordPress, Redis, phpMyAdmin, etc. Si los instala manualmente, puede llevar más tiempo y espacio para errores humanos.

  • Inicie sesión en la máquina virtual de Google Cloud recién creada y cambie a usuario raíz

Nota: se recomienda configurar el acceso sudo a la raíz desde un usuario normal en producción, pero en este ejercicio usaré la raíz.

  • Instale WordOps con el siguiente comando
wget -qO wo wops.cc && sudo bash wo
  • Tardará uno o dos minutos y, una vez hecho esto, volverá a la indicación.
Synchronizing wo database, please wait...
WordOps (wo) installed successfully

To enable bash-completion, just use the command:
bash -l

To install WordOps recommended stacks, you can use the command:
wo stack install

To create a first WordPress site, you can use the command:
wo site create site.tld --wp

WordOps Documentation : https://docs.wordops.net
WordOps Community Forum : https://community.wordops.net
WordOps Community Chat : https://chat.wordops.net

Give WordOps a GitHub star : https://github.com/WordOps/WordOps/

[email protected]:~#

Ahora es el momento de crear un sitio de WordPress. WordOps le ofrece una opción si desea instalar WordPress con complementos de almacenamiento en caché.

Actualmente, es compatible con WP Super, W3 Total, Nginx, Redis. Lo he probado todo, y Redis siempre funcionó mejor para mí.

  • Vamos a crear un sitio con caché de Redis.
wo site create geekflarelab.com --wpredis

Arriba, le pido a WordOps que cree un sitio para geekflarelab.com (es mi dominio de laboratorio) con caché de Redis. Tomará uno o dos minutos y le dará una confirmación sobre la creación del sitio.

[email protected]:~# wo site create geekflarelab.com --wpredis
Start : wo-kernel [OK]
Adding repository for MySQL, please wait...
Adding repository for NGINX, please wait...
Adding repository for PHP, please wait...
Adding repository for Redis, please wait...
Updating apt-cache              [OK]
Installing APT packages         [OK]
Applying Nginx configuration templates
Testing Nginx configuration     [OK]
Restarting Nginx                [OK]
Testing Nginx configuration     [OK]
Restarting Nginx                [OK]
Configuring php7.2-fpm
Restarting php7.2-fpm           [OK]
Tuning MariaDB configuration
Stop  : mysql     [OK]
Start : mysql     [OK]
Tuning Redis configuration      [OK]
Restarting redis-server         [OK]
Running pre-update checks       [OK]
Setting up NGINX configuration 	[Done]
Setting up webroot 		[Done]
Downloading WordPress 		[Done]
Setting up database		[Done]
Configuring WordPress           [OK]
Installing WordPress            [OK]
Installing plugin nginx-helper  [OK]
Setting plugin nginx-helper     [OK]
Installing plugin redis-cache   [OK]
Testing Nginx configuration     [OK]
Reloading Nginx                 [OK]
HTTP Auth User Name: WordOps
HTTP Auth Password : XXXXXX
WordOps backend is available on https://XX.XX.XX.XX:22222 or https://ubuntu-s-1vcpu-2gb-lon1-01:22222
WordPress admin user : Chandan Kumar
WordPress admin password : lyWwnfOhD8XXXXXXNTS3vXri
Configure redis-cache:	http://geekflarelab.com/wp-admin/options-general.php?page=redis-cache
Object Cache:		Enable
Successfully created site http://geekflarelab.com
[email protected]:~#
  • Guarde la contraseña de forma segura.

WordPress se instaló con éxito y es hora de apuntar su dominio a la IP del servidor. Eso fue fácil. ¿no es así?

Obtener IP estática

De forma predeterminada, Google Cloud asigna una IP efímera a la instancia que no desea configurar con el dominio, ya que puede cambiar en el próximo reinicio de la instancia.

Para evitar el riesgo, reservaremos una IP estática.

  • Vaya a Red VPC >> Direcciones IP externas desde la barra de navegación izquierda.
  • Desplegable Tipo efímero y seleccione estático

  • Da el nombre y haz clic en RESERVAR.
  • Notará que el tipo cambia a Estático.

GCP VM está lista con la IP externa estática y WordPress, y lo último que debe hacer es asignar el dominio a la IP estática.

Actualizar registro de dominio A

  • Ir a un registrador de dominio
  • Actualice el registro A de su dominio a la IP externa que acaba de reservar

Puede llevar algún tiempo propagarse globalmente. Puede usar la herramienta de búsqueda de registros DNS para verificar.

Una vez que se actualiza el registro del dominio A, puede acceder al sitio de WordPress con el dominio que usó con el comando WordOps. En mi ejemplo: http://geekflarelab.com

Realización de prueba de carga

Veamos cómo funciona el sitio de WordPress recién configurado en Google Cloud Platform. Antes de hacer una prueba de velocidad, instalaré un tema por Etiquetadivcomo se mencionó anteriormente.

Esto no es necesario, pero para asegurarme de tener algunos archivos de publicación/medios para simular el escenario del sitio real.

Como puede ver, geekflarelab.com está listo en GCP.

Hay varias formas de realizar evaluaciones comparativas, y una de las más fáciles es hacerlo desde una nube. Usé Loader.io para cargar de 100 a 500 usuarios durante un minuto y los resultados son:

Tiempo medio de respuesta = 695 ms

Sé que esta es una configuración básica de WordPress y requiere la instalación de complementos adicionales, añadir seguridad, certificado SSL, etc. en un entorno de producción. Pero eso aumentaría el tiempo de carga en unos pocos porcentajes.

Conclusión

Espero que esto le dé una idea de cómo configurar WordPress en Google Cloud Platform. Esto requiere un poco de tiempo para configurar y habilidades, pero si desea ahorrar $$ por mes, creo que vale la pena.

Alternativamente, si no tiene tiempo para configurar o administrar WordPress y al mismo tiempo desea disfrutar de Google Cloud, puede probar Plataforma de alojamiento gestionada por Cloudways.