2012-07-14 6 views
7

Estoy buscando una forma de implementar una aplicación web Haskell en un servidor de juguete de baja especificación. Las especificaciones de servidor:Implementación de la aplicación web Haskell en el servidor de baja especificación

  • OS: estable debian (squeeze) i386
  • CPU: 1 GHz Pentium IV
  • RAM: 512 MB
  • de almacenamiento: 512 MB compact flash (montado en /var), 4 GB compact flash USB (montado en /)

El servidor funciona bien, no se ve mucho tráfico (que es utilizado principalmente por mí mismo, amigos y miembros de la familia), y que puede permitirse el lujo de correr de mi vida habitación porque es completamente silencioso y consume muy poca energía (alrededor de 10 W inactivo, 40 W pico).

Obviamente, me gustaría evitar instalar toda la plataforma Haskell y compilar en el servidor: me quedo sin espacio en disco bastante rápido, y la compilación demorará siglos debido al almacenamiento lento. No puedo simplemente implementar binarios desde mi máquina de desarrollo, porque esa corre la prueba de Debian amd64, por lo que los binarios no serán compatibles. Mis ideas hasta ahora:

  • instalar una máquina virtual con Debian/i386 para construir sobre
  • encontrar una manera de construir binarios i386 en amd64
  • compilar a C en la máquina de desarrollo, copiar código C con el servidor , termine de construir allí (la instalación de gcc o clang en el servidor es probablemente aceptable)
  • otras ideas?

¿Cuál suena más prometedor? ¿Las opciones 2 y 3 son posibles?

Además, estoy un poco preocupado por las bibliotecas; la aplicación depende de algunas bibliotecas del sistema como libcairo; instalarlos en el servidor no es un problema, pero me pregunto si, especialmente para la opción 2, esto funcionaría (versiones de biblioteca, etc.)

+2

Iría con la opción 1. – dave4420

Respuesta

3

No intenté con haskell, pero con requisitos similares en el pasado lo he encontrado Lo más simple es configurar una vm con la misma versión de Debian que el sistema de destino. Significa que no necesita preocuparse por las versiones de la biblioteca, etc.

Cuestiones relacionadas