Estou construindo uma imagem com um servidor Nagios. Um dos problemas do raspberry pi é que a memória é muito pequena no raspberry pi. Então, eu vou usar uma interface leve baseada em php-apc em vez da interface padrão.
Eu queria saber qual servidor da web leve é recomendado para usar?
Eu estava pensando em um servidor web mínimo que pode fazer php e fornecer SSL. Eu estava pensando em Apache2 ou Nginx. Embora eu ache que o Apache ainda superará o Nginx, pois o conteúdo é dinâmico.
web-server
Lucas Kauffman
fonte
fonte
Respostas:
A verdadeira questão aqui é "Você precisa de todos os recursos que o Apache fornece?" (ou mais importante, "Você está disposto a usar memória para esses recursos?") - Você pode compilar um Apache + mod_perl ou mod_php MUITO despojado para executar a interface da web do Nagios (ou um apache Über-Stripped que apenas executa os CGIs perl), mas mesmo em uma forma minimalista, o Apache provavelmente precisará de mais memória que o nginx para fazer o mesmo trabalho - ele não foi desenvolvido para ser pequeno.
Para ter 100% de certeza, você pode querer fazer um bake-off (compile o nginx e o Apache e veja qual consome menos RAM), mas minha experiência em servidores "normais" me diz que o nginx é provavelmente a melhor escolha para uma memória com pouca memória configuração: você dá um pouco da flexibilidade do Apache, mas se você não precisa isso de qualquer maneira (e a maioria dos sites não fazem ) você nunca vai notar a diferença.
Em termos de desempenho (tempo), duvido que você seja limitado pelo seu servidor da Web - Todos os benchmarks inventados à parte, se você estiver fazendo volume suficiente, onde o desempenho do mecanismo do servidor que distribui as páginas é tão crítico que provavelmente você está indo estar assando seu Raspberry Pi (e, na verdade, quantas pessoas estarão vendo seus dados de monitoramento de uma só vez? :-).
É praticamente um axioma que você pode otimizar um sistema para o espaço ou o tempo, mas nunca para os dois - e em um espaço Raspberry Pi é provavelmente a sua limitação.
fonte
powerful
(porque é um termo indefinido). Eu disseflexible
(referindo-se a quantas maneiras o servidor principal básico pode ser configurado para atender a uma necessidade). Isso não deve refletir mal em nenhum dos servidores: ambos são excelentes trechos de código, mas têm objetivos de design muito diferentes. O Apache foi projetado para ser tudo para todas as pessoas - um caminhão no qual você pode arrumar sua casa inteira. O nginx foi projetado para ser pequeno e rápido - um carro esportivo, mas você não pode levar a esposa, os filhos, os sogros e o cachorro da família.Nginx
Eu tenho algumas boas experiências com o Nginx como servidor da web. Eu o associaria a uma estrutura wsgi leve , como bottle ou flask, para rápido desenvolvimento de aplicativos em Python.
Mas não espere que ele lide com mais de 10 solicitações por segundo :)
Instalação
O Nginx está nos repositórios Debian / Raspbian e Arch, portanto, pode ser instalado com um único comando.
Arco
Debian / Raspbian
Configuração
Existem muitos exemplos de configuração em toda a Web e uma explicação detalhada provavelmente está além do escopo desta pergunta. Existem muitos exemplos no Wiki do Nginx e a lista de discussão é muito útil.
Desde que você mencionou o PHP, ficará muito interessado em saber que o
/etc/nginx/nginx.conf
arquivo padrão contém um exemplo de PHP.fonte
lighttpd
Um excelente servidor da Web com poucos recursos é o lighttpd , que suporta PHP e SSL. Ele parece estar trabalhando com PHP em um Raspberry Pi, e é muito possível configurar lighttpd para apoiar SecureHTTP .
fonte
node.js
Você pode usar o node.js para criar um servidor da web light waight. Veja o exemplo a seguir no site do tutorial node.js.
O código acima é um script java, para que você possa escrever sua lógica de geração dinâmica de código no script java e começar a usá-lo rapidamente.
Você precisará fazer o download e configurar o node.js no link: http: //nodejs.org/ para Windows ou em qualquer plataforma que você preferir usar.
Inicie o servidor da web usando o comando:
fonte
Talvez você possa dar uma olhada no que outras pessoas usaram em caixas low-end .
Basicamente, é lighttpd + php-fcgi. O Lighttpd é realmente leve e o php-fcgi pode ser configurado para usar um pouco de memória. Eu o configurei na caixa VPS de 64 MB (não nagios, mas CMS).
Também não sei se você também precisa otimizar o MySQL para usar o mínimo de memória possível .
Pode ajudá-lo, não pode. Ainda estou para começar a usar o meu Raspi :)
fonte
O Mako Server e o BarracudaDrive são derivados da mesma fonte e esses dois servidores podem fornecer conteúdo gerado dinamicamente (usando a linguagem de script Lua) 70% mais rápido que o Apache pode fornecer conteúdo estático. Os resultados do benchmarking estão aqui: http://barracudadrive.com/blog/2013/03/Apache-Nginx-Lighttpd-Monkey-and-BarracudaDrive-Speed-Test
O servidor Mako pode ser encontrado aqui: http://makoserver.net/
fonte
Estou usando uma combinação de Nginx / Passenger para executar o pi.gadgetoid.com baseado em Ruby 24/7 em um Raspberry Pi de 512Mb. Isso supera drasticamente a configuração do Thin / Apache que eu estava usando antes. Este é um site público de tráfego razoavelmente alto, embora eu tenha trapaceado bastante usando o Cloudflare (um proxy de cache basicamente) para lidar com a maior parte desse volume.
Tenho certeza de que essa configuração também seria compatível com um Pi de 256 MB, mas tive problemas para compilar os módulos Passenger e Nginx; executando em limitações de memória.
Sei que não é uma solução PHP, e provavelmente vou ser repreendido por sugerir uma resposta tão tangencial; mas se você está procurando o Pi para aumentar os limites de seu conhecimento, e está fazendo isso para alguma atualização casual, sugiro fortemente que olhe para Ruby e Sinatra. Você sentirá ódio pelo PHP dentro de algumas semanas.
Em geral, você não terá muitos problemas para executar uma pilha da web PHP / Apache em um servidor de 256 MB. Eu fiz isso para sites muito maiores, com capacidade profissional em hospedagem baseada em nuvem. É quando o MySQL se envolve que as coisas ficam feias. A execução de uma pilha LAMP completa em 256 MB é dolorosa para dizer o mínimo, mas não impossível para volumes de tráfego baixos.
fonte