Overview for Hosting


Configurar vhosts en nginx

Como ya comenté en el pasado, para este sitio (y otros en el mismo server) estoy utilizando Apache para servir el PHP en el puerto 8080 y al frente un nginx como reverse proxy, que redirecciona las peticiones PHP al Apache y sirve los archivos estáticos, utilizando el prótocolo http2.

Entonces vamos a ver como configurar los vhosts en ambos servers para poder servir más de un sitio desde la misma VM.

Monitorear server con Uptime Robot

Siempre nos interesa (o nos debería interesar) que nuestro sitio esté disponible todo el tiempo posible. Una gran opción para monitorear la disponibilidad es Uptime Robot.

Este servicio tiene varias cosas muy buenas, que vamos a analizar en detalle hoy: es gratis hasta para 50 monitores, permite monitorear http(s), ping, un puerto específico y hasta por keyword, integración con email, slack y SMS.

Usar MXroute para los mails con dominio propio

En la búsqueda de un servicio que me de la posibilidad de tener mi propio dominio ([email protected], por ejemplo) busqué entre varias opciones. Las que eran gratis no me terminaban de convencer, y las pagas me resultaban muy caras o restrictivas para el uso que yo le quería dar.

Asi es como llegué a MXroute, un servicio que a simple vista parecería similar a un shared hosting (de hecho usan cPanel y explican por qué), pero exclusivamente para email, con la posibilidad de agregar todos nuestros dominios y tantas casillas como creamos conveniente, el único límite es el espacio en disco, que varía dependiendo del plan contratado.

Configurar Linode Longview

Una de las herramientas más útiles que tiene Linode (y una de las razones más importantes por las que me decidí a usarlo en lugar de otras VPS de 5 dólares) es Longview.

Longview es un agente que se instala en nuestro server y nos va a proveer métricas muy útiles para monitoreo y diagnóstico de problemas, a las cuales vamos a acceder directamente desde el panel de Linode.

La instalación es muy simple, solo necesitamos acceder a nuestro server por SSH para instalar el agente y modificar algunos archivos.

Usar megatools para hacer backups

Siempre es bueno tener algún backup para estar protejidos ante eventuales fallas que nos podrían costar los datos de nuestro sitio.

Lo ideal es utilizar una herramienta de versionado para nuestro código, pero si sos como yo, no te gusta agregar la DB a git, ya que estamos hablando de datos de un server, no del código en si.

La mayoría de los hosting actuales ofrecen servicios de backup, pero vamos a utilizar, además, nuestra cuenta de mega para guardar ahi los DB de nuestra DB.

Certificado SSL con Let's Encrypt (y ajustes a Nginx)

Como comentaba en el artículo pasado, para poder usar el protocolo HTTP/2 en los browsers más conocidos es necesario servir las páginas sobre una conexión segura, para lo cual, a su vez, necesitamos un certificado expedido por un CA (Certificate Authority). Por suerte para todos nosotros que no podemos pagar 100 dólares anuales por un certificado, Let's Encrypt es un CA y nos permite obtener un certificado de manera simple y gratuita.

Vamos a ver el paso a paso para tener el certificado instalado en nuestro server Ubuntu 16.04.

Usar nginx como reverse proxy (Y utilizar http 2)

Si sos curioso, habrás notado que este blog está usando el protocolo http2 para servir las páginas:

Para esto utilicé una configuración que es bastante popular: Nginx como reverse proxy comunicándose con el cliente y sirviendo el contenido estático, y delegando en Apache (que escucha en otro puerto) el contenido PHP.

Vamos a ver el paso a paso para dejar este stack andando en Ubuntu 16.04.