Estoy construyendo una imagen con un servidor Nagios. Uno de los problemas de la frambuesa pi es que la memoria es bastante pequeña en la frambuesa pi. Así que usaré una interfaz ligera basada en php-apc en lugar de la estándar.
Me preguntaba qué servidor web ligero se recomienda usar.
Estaba considerando un servidor web mínimo que puede hacer php y proporcionar SSL. Estaba pensando en Apache2 o Nginx. Aunque creo que Apache aún superará a Nginx ya que el contenido es dinámico.
web-server
Lucas Kauffman
fuente
fuente
Respuestas:
La verdadera pregunta aquí es "¿Necesita todas las funciones que proporciona Apache?" (o, lo que es más importante, "¿Está dispuesto a utilizar la memoria para estas funciones?"): puede compilar un Apache + mod_perl o mod_php MUY despojado para ejecutar su interfaz web Nagios (o un apache Über-Stripped que solo ejecuta los CGI de Perl), pero incluso en una forma minimalista, Apache probablemente necesitará más memoria que nginx para hacer el mismo trabajo: simplemente no fue creado para ser pequeño.
Para estar 100% seguro de que es posible que desee hacer un horneado (compile nginx y Apache y vea cuál consume menos RAM), pero mi experiencia en servidores "normales" me dice que nginx es probablemente la mejor opción para una memoria baja configuración: renuncia a algo de la flexibilidad de Apache, pero si no lo necesita de todos modos (y la mayoría de los sitios no ) nunca notará la diferencia.
Rendimiento (tiempo) sabio Dudo que esté limitado por su servidor web. Dejando a un lado todos los puntos de referencia inventados, si está haciendo suficiente volumen donde el rendimiento del motor del servidor distribuyendo las páginas es tan crítico que probablemente esté yendo. para hornear tu Raspberry Pi (y realmente, ¿cuántas personas verán tus datos de monitoreo a la vez? :-).
Es prácticamente un axioma que puede optimizar un sistema por espacio o tiempo, pero nunca por ambos, y en un espacio Raspberry Pi es probablemente su restricción limitante.
fuente
powerful
(porque es un término indefinido). Dijeflexible
(refiriéndome a cuántas maneras se puede configurar el servidor básico para satisfacer una necesidad). Esto no pretende reflejar mal en ninguno de los servidores: ambos son excelentes piezas de código, pero tienen objetivos de diseño muy diferentes. Apache está diseñado para ser todo para todas las personas: un camión en el que puede empacar toda su casa. nginx está diseñado para ser pequeño y rápido: un automóvil deportivo, pero no puede llevar a la esposa, los hijos, los suegros y el perro de la familia.Nginx
Tengo algunas buenas experiencias con Nginx como servidor web. Lo uniría con un marco ligero de wsgi como botella o matraz para el desarrollo rápido de aplicaciones en Python.
Sin embargo, no espere que maneje más de 10 solicitudes por segundo :)
Instalación
Nginx está en los repositorios Debian / Raspbian y Arch, por lo que se puede instalar con un solo comando.
Arco
Debian / Raspbian
Configuración
Hay muchos ejemplos de configuración en toda la web y una explicación detallada probablemente esté fuera del alcance de esta pregunta. Hay muchos ejemplos en el Wiki de Nginx y la lista de correo es muy útil.
Como mencionó PHP, le interesará saber que el
/etc/nginx/nginx.conf
archivo estándar contiene un ejemplo de PHP.fuente
lighttpd
Un gran servidor web de bajos recursos es lighttpd , que admite PHP y SSL. Que parece estar funcionando con PHP en una Raspberry Pi, y es muy posible configurar lighttpd para apoyar SecureHTTP .
fuente
node.js
Puede usar node.js para crear un servidor web light waight. Consulte el siguiente ejemplo del sitio de tutorial node.js:
El código anterior es un script java para que pueda escribir su lógica de generación de código dinámico en un script java y comenzar a usarlo en poco tiempo.
Deberá descargar y configurar node.js desde el enlace: http: //nodejs.org/ para Windows o cualquier plataforma que prefiera utilizar.
Inicie el servidor web con el comando:
fuente
Tal vez pueda echar un vistazo a lo que otras personas han usado en cajas de gama baja .
Básicamente, es lighttpd + php-fcgi. Lighttpd es realmente ligero y php-fcgi se puede configurar para usar solo un poco de memoria. Lo configuré en un cuadro VPS de 64 MB (no en nagios, sino en CMS).
Además, no sé si también necesita optimizar MySQL para usar la menor cantidad de memoria posible .
Puede ayudarte, puede que no. Todavía tengo que empezar a usar mi Raspi :)
fuente
El servidor Mako y BarracudaDrive se derivan de la misma fuente y estos dos servidores pueden entregar contenido generado dinámicamente (usando el lenguaje de script Lua) un 70% más rápido que Apache puede entregar contenido estático. Los resultados de la evaluación comparativa están aquí: http://barracudadrive.com/blog/2013/03/Apache-Nginx-Lighttpd-Monkey-and-BarracudaDrive-Speed-Test
El servidor Mako se puede encontrar aquí: http://makoserver.net/
fuente
Estoy usando una combinación de Nginx / Passenger para ejecutar el pi.gadgetoid.com basado en Ruby 24/7 en un Raspberry Pi de 512Mb. Esto supera drásticamente la configuración Thin / Apache que estaba usando antes. Este es un sitio web público de tráfico razonablemente elevado, aunque he hecho muchas trampas usando Cloudflare (un proxy de almacenamiento en caché básicamente) para lidiar con la mayor parte de ese volumen.
Estoy bastante seguro de que esta configuración también se ubicaría cómodamente en un Pi de 256 MB, pero tuve problemas para compilar los módulos Passenger y Nginx; topando con limitaciones de memoria.
Sé que no es una solución PHP, y probablemente me reprenderán por sugerir una respuesta tangencial; pero si está buscando que el Pi empuje los límites de su conocimiento, y está haciendo esto para algunos ajustes casuales, le sugiero encarecidamente que busque a Ruby y Sinatra. Tendrás un odio hiriente por PHP en un par de semanas.
En general, no tendrá muchos problemas para ejecutar una pila web PHP / Apache en un servidor de 256 MB. He hecho esto para sitios mucho más grandes en una capacidad profesional en alojamiento basado en la nube. Cuando MySQL se involucra, las cosas se ponen feas. Ejecutar una pila LAMP completa en 256 MB es doloroso, por decir lo menos, pero no imposible para volúmenes de tráfico bajos.
fuente