2012-08-07 16:17

El Server Mínimo

Fuí sysadmin bastatnte tiempo. Lo hacía para vivir así que no tenía muchas ganas de hacer lo mismo en mi tiempo libre, lo que llevó a un caso fuerte de cuchillos de palo en casa de herrero.

Entonces hoy en la hora del almuerzo me puse a limpiar la basura. Este post describe con qué terminé, que es el server mínimo que me sirve para algo.

Hosting

Es un VPS barato provisto por los amigos de burst.net que no me pagan para decir cosas buenas de su servicio. Sin embargo, las digo igual:

  • Muy barato (U$S 5.50 pero tengo 20% de descuento para siempre)
  • Bastante transferencia cada mes
  • Mucho espacio
  • Buen uptime
  • Red rápida
  • Muy barato
  • Performance decente
  • Barato

Distribución

Ya tenía CentOS 5, y sigue ahí. Si burst alguna vez ofrece Ubuntu Precise, capaz que cambio. O, ya que esto anda, capaz que no.

Lo bueno de CentOS: estable y aburrido.

Lo malo de CentOS: es un poco demasiado aburrido. Montones de cosas simplemente no están empaquetadas.

Web Server

Tengo que servir una cantidad de dominios, pero con una peculiaridad: son todos sitios estáticos. Lo que quiero es:

  • Bajo uso de recursos
  • Performance decente (con rangos y negociación de contenidos)
  • Estable
  • Con índices de directorio
  • Fácil de configurar
  • Dominios virtuales por nombre

Casi cualquier servidor anda para esto. Hasta Apache, excepto por eso de la configuración sencilla. Terminé con gatling porque cumple esos criterios bastante bien.

  • Usa alrededor de 1.4MB de RAM que está bueno en un VPS.
  • Es bastante rápido
  • Lleva horas sin caerse
  • Genera índices
  • Esta es la configuración: "-c /srv/www -P 2M -d -v -p 80 -F -S" (no, no hay archivo de configuración)
  • Los dominios virtuales son carpetas y symlinks adentro de /srv/www que es lo más fácil posible.
  • Soporta proxy inverso para cuando quiero probar una webapp python en la que estoy trabajando.

Mail Server

No quiero un mail server. Tengo gmail y un server de verdad para eso. Lo que quiero son los mails de cron. Para eso usé ssmtp y una cuenta extra de gmail. Funciona, y esta es toda la configuración:

[email protected]
mailhub=smtp.gmail.com:587
UseTLS=YES
UseSTARTTLS=YES
AuthMethod=LOGIN
[email protected]
AuthPass=notputtingthetrueoneheredude

Lo mejor que puedo decir es que funciona, y no involucra correr un server.

Misc

Para cuando tengo que estar en dos lugares al mismo tiempo: OpenVPN es lo más, y no se aceptan discusiones. Tengo un squid corriendo a veces, y hay un Quassel core para IRC. Instalé mosh para que el ssh sea menos doloroso, rsync hace deployments y guarda backups, cron ejecuta cosas, y nada más.

Status

Montones de RAM y CPU libres (sí, esa es la lista completa de procesos):

[[email protected] ~]# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1   2156   664 ?        Ss   22:01   0:00 init [3]
root      1135  0.0  0.1   2260   576 ?        S<s  22:01   0:00 /sbin/udevd -d
root      1518  0.0  0.1   1812   572 ?        Ss   22:01   0:00 syslogd -m 0
root      1594  0.0  0.1   7240  1032 ?        Ss   22:01   0:00 /usr/sbin/sshd
root      1602  0.0  0.2   4492  1112 ?        Ss   22:01   0:00 crond
root      1630  0.0  0.1   5684   716 ?        Ss   22:01   0:00 /usr/sbin/saslauthd -m /var/run/saslauthd -a pam -n 2
root      1631  0.0  0.0   5684   444 ?        S    22:01   0:00 /usr/sbin/saslauthd -m /var/run/saslauthd -a pam -n 2
root      1636  0.0  0.2   3852  1372 ?        S    22:01   0:01 /opt/diet/bin/gatling -c /srv/www -P 2M -d -v -p 80 -F -S
root      1677  0.0  0.2   4284  1232 ?        Ss   22:02   0:00 SCREEN /root/quasselcore-static-0.7.1
root      1678  0.0  2.1  36688 11148 pts/0    Ssl+ 22:02   0:03 /root/quasselcore-static-0.7.1
root      3228  1.0  0.7  12916  4196 ?        Ss   23:28   0:13 mosh-server new -s -c 8
root      3229  0.0  0.3   3848  1588 pts/2    Ss   23:28   0:00 -bash
root      3275  0.0  0.1   2532   908 pts/2    R+   23:48   0:00 ps aux
[[email protected] ~]# w
 23:49:03 up  1:47,  1 user,  load average: 0.00, 0.01, 0.00
USER     TTY      FROM              [email protected]   IDLE   JCPU   PCPU WHAT
root     pts/2    186.153.52.253   23:28    0.00s  0.01s  0.00s w
[[email protected] ~]# free
             total       used       free     shared    buffers     cached
Mem:        524800      49100     475700          0          0          0
-/+ buffers/cache:      49100     475700
Swap:            0          0          0

Teniendo en cuenta todo, bastante contento con el resultado.

Comentarios

Comments powered by Disqus

Contents © 2000-2019 Roberto Alsina