Digitalocean wordpress

Digitalocean nodejs

Es importante señalar que este post no está patrocinado por SpinupWP/Delicious Brains, ni siquiera hemos hablado con ellos en ningún momento del proceso. Simplemente nos pareció una herramienta nueva e interesante y quisimos escribir sobre ella.

SpinupWP es un panel de control que pretende hacer ese proceso mucho menos intimidante, configurando adecuadamente todo para asegurar y optimizar tu sitio y dándote una forma mucho más sencilla de gestionar tu droplet.

Lo mejor es que el precio es súper flexible y no hay contratos a largo plazo. Así que si quieres actualizar o reducir tu Droplet en el futuro, puedes hacerlo (¡despídete de pagar por 12 meses de alojamiento a la vez!).

Además, puedes alojar todos los sitios de WordPress que quieras, no hay ningún coste adicional por más sitios (aunque es posible que tengas que actualizar tu Droplet en algún momento para soportar la carga, especialmente si no utilizas el almacenamiento en caché de la página completa).

A continuación, si quieres utilizar un certificado SSL gratuito de Let’s Encrypt, se te pedirá que añadas un registro A a tus DNS. Esto es lo que ya hiciste en el paso anterior, así que puedes seguir adelante y hacer clic en Verificar DNS:

Digitalocean wordpress ssl

Soy un tipo de bricolaje cuando se trata de alojamiento de WordPress, así que me gusta ensuciarme las manos con los servidores, el código, la configuración y todo lo demás. He estado usando servidores virtuales en DigitalOcean para pequeños proyectos de WordPress durante mucho tiempo, y es genial, y también muy asequible.

Sin embargo, es un poco molesto hacer el mantenimiento de rutina en los servidores existentes, o aprovisionar y configurar nuevos servidores para proyectos más nuevos, así que, como la mayoría de los desarrolladores, escribí un montón de scripts, y los usé durante muchos muchos años.

En los últimos meses he decidido limpiar (reescribir) todos esos scripts y empaquetarlos en una herramienta CLI fácil de usar, que he llamado sail. Es de código abierto en GitHub, y está disponible para Linux, MacOS y Windows a través de Homebrew y PyPI.

Claro, hay un montón de productos y servicios existentes para la gestión de WordPress en DigitalOcean y otros proveedores de la nube, y créeme, los he probado todos. Cada uno de ellos es una bestia. Estos son algunos de los problemas que tuve:

Mientras que mi enfoque en este momento es completar y pulir todas las características principales de Sail, tengo algunas cosas más emocionantes en la hoja de ruta para las próximas versiones. Esto no es una promesa, sino una muestra de lo que está por venir:

Digitalocean cpanel

Desde que trasladé mi blog a la plataforma de aplicaciones DigitalOcean, aquí hay un par de consejos y trucos que aprendí en el camino. Este es un seguimiento de mi anterior post sobre cómo instalar WordPress en la plataforma de aplicaciones DigitalOcean.

DigitalOcean utiliza los buildpacks de Heroku para detectar automáticamente los idiomas de tus aplicaciones. Para nuestro sitio de WordPress, detecta PHP correctamente, pero a menudo necesitamos tener Node y NPM con el fin de construir temas de front-end.

La plataforma de aplicaciones no será capaz de detectar el package.json si se encuentra en su carpeta de temas. La única forma que he encontrado para cargar Node/NPM es añadir un archivo package.json vacío en la raíz del repositorio.

Por el momento, parece haber un error en la Plataforma de Aplicaciones donde el número de trabajadores no escala con el tamaño del contenedor. Incluso si seleccionas el contenedor más grande posible, se imprimirá lo siguiente en la consola:

Esto significa que sólo se iniciarán 4 trabajadores independientemente del tamaño del contenedor. Puedes arreglar esto definiendo la variable WEB_CONCURRENCIA. La documentación de Heroku recomienda dividir el total de RAM del contenedor por el límite de memoria PHP, por ejemplo, si tienes 256 MB de memoria PHP y 1 GB de tamaño de contenedor, establece la WEB_CONCURRENCY en 4.

El fantasma de Digital Ocean

Así que, como todo el mundo puede saber (o no, como yo no lo sabía) el sistema de base de datos gestionada de DigitalOcean está configurado para tener una clave primaria requerida (no modificable globalmente). Aunque entiendo que es mejor así, a veces cuando se instala un plugin en un sitio web de WordPress, el plugin tiene que crear tablas, que pueden o no tener una clave primaria en ella.

Tengo una lista de ese tipo de plugins, a los que enviaré una petición de mejora cuando sea posible, pero como solución me gustaría resolver esto haciendo uso de un gancho y/o del sistema de “plugins imprescindibles” de WordPress para llamar a SET SESSION sql_require_primary_key = OFF; antes de cada sentencia de creación de tabla (o de cada sentencia sql en general, si no hay forma de centrarse sólo en las sentencias de creación de tabla).