No Pplware já disponibilizamos vários artigos que ensinam a transformar uma máquina Linux num servidor LAMP (Linux + Apache + MySQL + PHP). Basicamente um LAMP é um conjunto de serviços sobre Linux, que nos permitem criar um verdadeiro servidor Web (Apache2 – para colocar conteúdos online como por exemplo sites, plataformas como wordpress, Joomla, wikis, etc) com suporte para a linguagem de programação PHP e para o serviço de base de dados MySQL.
Semelhante ao um LAMP podemos transformar a nossa máquina linux num LEMP (Linux + Enginx + MySql + PHP (ou Perl/Python), sendo que a única diferença é a substituição do Apache pelo Enginx (vulgarmente conhecido com Nginx.
Nginx
O Nginx é um servidor HTTP (Web) gratuito, open-source e com alta performance. O Nginx foi desenvolvido pelo programador russo Igor Sysoev em 2005, e tinha como principal objectivo ser um servidor estável, simples de configurar e que necessitasse de poucos recursos ao nível de hardware.
Como instalar um LEMP no Ubuntu Precise 12.04?
Para começarmos a instalar um LEMP no Ubuntu Precise 12.04 vamos começar por instalar nginx. Para isso abrimos a terminal e inserimos os seguintes comandos:
sudo add-apt-repository ppa:nginx/stable
sudo apt-get update
sudo apt-get install nginx
Em seguida, podemos iniciar o nginx usando o comando
sudo service nginx start
Para verificarmos que o nginx está a funcionar, abrimos um browser e inserimos ou o endereço da máquina ou http://localhost
Instalar e configurar o PHP
Para que o PHP5 funcione correctamente no PHP5 é necessário instalar o PHP-FPM (PHP-FPM (FastCGI Process Manager) que é uma alternativa ao PHP FastCGI. Além disso vamos também instalar o CLI do PHP e o modulo para inteiração com o MySQL. Para instalar o PHP e os módulos referidos, vamos abrir o terminal e inserir o seguinte comando:
sudo apt-get install php5-cli php5-fpm php5-mysql
Configurar o NGinx para funcionar com o PHP
Vamos agora proceder a algumas configurações a nível de vlhosts. Para isso vamos abrir o vhost por omissão que se encontra em /etc/nginx/sites-available/default e definir as seguintes alterações
sudo nano /etc/nginx/sites-available/default
[...] server { listen 80; ## listen for ipv4; this line is default and implied listen [::]:80 default ipv6only=on; ## listen for ipv6 root /usr/share/nginx/www; index index.php index.html index.htm; # Make site accessible from http://localhost/ server_name localhost; location / { location /doc { root /usr/share; autoindex on; allow 127.0.0.1; deny all; } location /images { root /usr/share; autoindex off; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/www; } location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # location ~ /\.ht { deny all; } } [...]
Depois de realizadas as configurações devemos recarregar as novas configurações, executando para isso o comando:
/etc/init.d/nginx reload
Para testar o PHP5 vamos criar um simples ficheiro na document root do nginx. para isso criamos o ficheiro phpinfo.php usando o seguinte comando.
nano –w /usr/share/nginx/www/info.php
e lá dentro colocamos
<?php
phpinfo();
?>
Para testar o script criado, abrimos o browser e colocamos http://localhost
Instalar o MySQL
Para instalar o MySQL devem executar o seguinte comando:
sudo apt-get install mysql-server
Será aberta uma janela, onde devem indicar a password de acesso ao MySQL.
E assim temos o LEMP pronto a funcionar. Como puderam ver a instalação/configuração do servidor Nginx requer algum trabalho (assim como outros servidores Web), mas no final o trabalho vale bem a pena já que o Nginx demonstrou uma boa performance e estabilidade. Ficamos a aguardar o vosso feedback.