Category Archives

2 Articles
Cambiar el Puerto de Varnish al 80

Cambiar el Puerto de Varnish al 80

by oscars 0 Comments

 

Creo que esto le ha pasado a mas de uno, instalar varnish, intentar cambiar su puerto por defecto por el puerto 80 (http) y ver que no es como lo indica su documentación.

/etc/systemd/system/varnish.service.d/customexec.conf

Bueno pues es verdad, en Ubuntu (donde me ha pasado de un tiempo para acá {systemd}) siempre es lo mismo y viendo que es difícil encontrar una guía de como cambiarlo exactamente lo publico aquí.

Hay que saber de donde carga esos valores varnish, pues no los esta cargando del «/etc/default/varnish» si no de otro directorio (vamos, que si lo cambiamos de ahí y no aplica es obvio).

Ejecutamos

grep -R ‘ExecStart=/usr/sbin/varnishd’ /etc/

Y nos dará la ruta

/etc/systemd/system/multi-user.target.wants/varnish.service

Ahí es donde editamos el execstart al gusto (cambiarlo al puerto 80, etc). Después aplicamos un daemon reload y reiniciamos el servicio con esto ya tendríamos el cambio de varnish al puerto 80.

Saludos.

 

 

Borrar millones de archivos en Linux

by oscars 0 Comments

Inaugurando mi regreso a WP despues de pasar por Ghost y tener mi dominio abandonado, hoy hablare de un problema que tal vez tengan otros sysadmin.

Ya hace tiempo tengo clientes que guardan el cache de sus consultas, ya sea en un .json o un .cache, no estoy seguro si sea una buena practica pero me parece algo cool tener el json con la información de la consulta para no saturar la base de datos, aunque son sitios con mucho trafico estos archivos terminan siendo demasiados.

Como sea, estos clientes llegan a tener millones de archivos y esto ocasiona varios problemas pero hoy hablare del problema de «cuando se quiere limpiar el cache». Imaginen que mi cliente tiene 50GB de jsons de 1KB o menos, eso dice mucho no?

Nuestro primer acercamiento al problema seria borrar todo con un «rm -rf» pero posiblemente les regrese algo como «Argument too long» indicando que son demasiados archivos para borrar por rm. Asi que veamos opciones

  1. La mas efectiva para mi es usar find -delete, elimina muy rápido cada archivo e incluso se pueden usar condiciones sobre que carpetas, nombre de archivos, tiempo de creación, etc por lo que se me hace la mejor opción.
  2. rm -rf directorio una opción es no borrar los archivos dentro del directorio si no borrar el directorio en si, en este caso tardara pero ira borrando de poco a poco los archivos dentro hasta eliminar el directorio, si se cancela cuando se están borrando archivos este dejara los faltantes.
  3. rsync -a –delete directoriovacio directoriolleno esta opción no me ha servido para nada, es mas lenta que find y no aunque es buena alternativa después de n archivos tarda demasiado.
  4. perl -e ‘unlink <*>’ aunque no llegue a utilizarlo porque simplemente se quedaba procesando el listado, perl es otra opción para eliminar gran cantidad de archivos.
  5. Un batch con rm -rf para n cantidad de archivos o con un for mas exactamente, y aunque funcionaria bien siento que lo mejor es find.