El Server Mínimo
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.
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:
root=roberto.alsina@gmail.com mailhub=smtp.gmail.com:587 UseTLS=YES UseSTARTTLS=YES AuthMethod=LOGIN AuthUser=roberto.alsina.3@gmail.com 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):
[root@burst1 ~]# 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 [root@burst1 ~]# w 23:49:03 up 1:47, 1 user, load average: 0.00, 0.01, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/2 186.153.52.253 23:28 0.00s 0.01s 0.00s w [root@burst1 ~]# 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.
This is fuck1ng awsome!