Todos ja ouvimos falar sobre a combinacao LAMP[ Linux, Apache, mysql e PHP], eu mesmo utilizo o famoso "combo" em diversos servidores de producao sem maiores problemas, claro, conto com maquinas bem dimensionadas para tarefa, mas em hardware mais modestos como o caso do pequeno, mas valente RaspBerry, precisamos otimizar ao maximo os recursos disponiveis.Com o objetivo de criar um servidor Web com meu RaspBarry, para "estudos academicos", entao fui perguntar para meu amigo[google] o que ele recomendaria no lugar do combo LAMP, para minha surpresa a resposta foi: LEMP [Linux, NGINX, mysql e PHP]. O "E" da sigla vem da pronuncia de nginx, que se pronuncia `Engine x`. Os mais ceticos provavelmente reclame do Mysql, bom no lugar poderemos utilizar o sqlight.Entao sem mais rodeios, vamos a descricao da solucao encontrada:Hardware: RaspBerry PI 2 Modelo B CPU: 900MHz quad-core ARM Cortex-A7 RAM: 1GB SD: 32GBSoftware: Sistema Operacional: Raspbian [Porte do Debian wheezy para CPU ARM]Web-Server: Nginx [O Nginx e um servidor Web, proxy reverso, proxy balanceador de carga, e faz praticamente tudo que o Apache faz, so que muito mais rapido!]PHP: PHP5-fpm [FPM (FastCGI Process Manager) e uma alternativa para a implementacao PHP FastCGI com alguns recursos adicionais, principalmente usado em sites pesados. A decisao de utilizar o FPM no lugar da implementacao tradicional do PHP e meramente academica.]DB-Server: MysqlImplementacao:Para instalar os software foi utilizado os pacotes pre compilados distribuidos juntamente com o Raspbian via apt-get, para os mais puritanos, pode baixar e compilar os software sem problemas, so nao esqueca de instalar os compiladores. 1. Instalando/Configurando o nginx e PHP-fpm Uma das grandes vantagens do nginx e sua facil configuracao, vou demonstrar como instalar e configurar o nginx para utilizar o php-fpm. Instalando: apt-get install nginx php5-fpm php5-cli Note que tambem estou instalando o php5-cli, assim e possivel executar scripts PHP diretamente no shell.Configurando: O arquivo de configuracao do Server nginx esta em /etc/nginx/nginx.conf, este arquivo e o responsavel pelo comportamento do servidor Web Nginx, ja o arquivo que contem a configuracoes do site esta em /etc/nginx/sites-available/default, seguindo o padrao do Debian. Dentro do arquivo encontramos a tag server {...}, dentro dela e que devemos colocar as configuracoes. Abaixo uma configuracao minimalista de um host: server { listen 80; listen meusite.com:80; server_name meusite.com; #Diretorio root do site, o mesmo DOCUMENT_ROOT do Apache root /usr/share/nginx/www/meusite.com; index index.html index.htm index.php; #Configuracao para utilizar o PHP-fpm, onde o nginx envia os arquivos .php para o PHP-fpm. location ~ .php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } Mais opcoes estao disponiveis neste web server, porem, minhas necessidades nao requerem configuracoes mais elaboradas. 2. Instalando Mysql A instalacao do mysql e bastante simples, o unico detalhe solicitado pelo instalador e senha root do mysql.Instalacao: apt-get install php5-mysql mysql-server php5-sqlite php5-odbc Com isso terminamos a instalacao dos pacotes. Para finalizar precisamos reiniciar os servidos, execute: /etc/init.d/mysql stop; /etc/init.d/mysql start /etc/init.d/nginx stop; /etc/init.d/nginx start /etc/init.d/php5-fpm stop; /etc/init.d/php5-fpm start Para muitos o ultimo comando pode ser um pouco estranho, mas uma das caracteristicas o php5-fpm e ser executado como um