Este tutorial mostrará com instalar um Servidor Web nginx (1.1.13) com suporte a PHP5 (5.3.9) através do FPM (FastCGI Process Manager) com sessões armazenadas no memcached (1.4.11) no Debian Squeeze (6.0.3). O PHP FPM é uma alternativa ao PHP FastCGI com muitas funcionalidades voltadas a sites com grandes números de acessos e carga. O memcached é um sistema de cache de memória distribuída onde, entre outras coisas, é possível armazenar os dados de sessões de aplicações PHP com o objetivo de melhorar a performance geral da aplicação e permitir sessões compartilhadas entre múltiplos servidores web. Você precisa esta logado como root para executar este tutorial.
1) Instalando o PHP5 FPM 5.3.9
Edite o arquivo /etc/apt/sources.list
nano /etc/apt/sources.list
Adicione ao arquivo
deb http://ftp.br.debian.org/debian squeeze main contrib
deb-src http://ftp.br.debian.org/debian squeeze main contrib
deb http://packages.dotdeb.org stable all
deb-src http://packages.dotdeb.org stable all
Instale a Chave Pública do repositório LAMP DotDeb
wget http://www.dotdeb.org/dotdeb.gpg
cat dotdeb.gpg | apt-key add -
Atualize a listagem de pacotes local
apt-get update
Instale o PHP5-FPM
apt-get install php5-fpm php-pear php5-dev
2) Instalando o nginx
Instale as dependências de compilação
apt-get build-dep nginx
Baixe a última versão de desenvolvimento (1.1.13)
wget -c http://nginx.org/download/nginx-1.1.13.tar.gz
Descompacte o nginx-1.1.13.tar.gz
tar xvf nginx-1.1.13.tar.gz
Configure o nginx para compilação
cd nginx-1.1.13
./configure --sbin-path=/usr/sbin --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx.lock --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/body --http-proxy-temp-path=/var/lib/nginx/proxy --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --with-debug --with-http_stub_status_module --with-http_flv_module --with-http_ssl_module --with-http_dav_module --with-ipv6 --with-poll_module --with-pcre --with-http_gzip_static_module
Compile e instale o nginx
make
make install
Crie os diretórios necessários ao nginx
mkdir -p /var/lib/nginx/body
mkdir -p /var/www
chown -R www-data.www-data /var/www
Faça uma cópia de seguraça da configuração original do nginx
mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.orig
Edite o /etc/nginx/nginx.conf
nano /etc/nginx/nginx.conf
Adicione a configuração eo /etc/nginx/nginx.conf
user www-data;
worker_processes 2;
pid /var/run/nginx.pid;
events {}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 360;
client_max_body_size 256m;
tcp_nopush on;
tcp_nodelay on;
server {
listen 80;
server_name localhost;
error_log /var/log/nginx/localhost.error.log;
access_log /var/log/nginx/localhost.access.log;
charset utf-8;
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html { root html; }
location / {
root /var/www;
autoindex on;
index index.php index.html;
}
location ~ \.php$ {
root /var/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
include fastcgi_params;
access_log off;
}
}
}
Inicie o nginx
nginx
Para testar crie um arquivo /var/www/index.php
nano /var/www/index.php
Adicione
<?php phpinfo(); ?>
Use o navegador e coloque o endereço http://localhost uma página com informações sobre o PHP deve aparecer.
2.1) Inicializando o nginx durante o boot
Baixe o script inicialização exemplo do nginx
wget -c http://marcelo.juntadados.org/upload/2/187/nginx
Copie para o diretório /etc/init.d/
cp nginx /etc/init.d
Defina a permissão ao /etc/init.d/nginx
chmod u+rwx /etc/init.d/nginx
Adicione a inicialização do sistema
update-rc.d-insserv -f nginx defaults
3) Instalando o memcached
Instale as dependências de compilação
apt-get build-dep memcached
Baixe a última versão do memcached (1.4.11)
wget -c http://memcached.googlecode.com/files/memcached-1.4.11.tar.gz
Descompacte o memcached-1.4.11.tar.gz
tar xvf memcached-1.4.11.tar.gz
Configure o memcached para compilação
cd memcached-1.4.11
./configure --prefix=/usr
Compile e instale o memcached
make
make install
Crie um usuário memcached
adduser memcached
Execute o memcached em background
memcached -d -m 64 -p 11211 -l 127.0.0.1 -u memcached &
3.1) Instalando o memcached através de Pacote
apt-get install memcached
3.2) Verificando o funcionamento do memcached através do PHP
Instale o módulo memcache do PHP5
apt-get install php5-memcache
Re-inicie o php5-fpm
service php5-fpm restart
Monitorando Estado do memcached
watch 'php -r '"'"'$m=new Memcache;$m->connect("127.0.0.1", 11211);print_r($m->getstats());'"'"
4) Configurando o PHP para armazenar sessões no memcached
Edit o arquivo /etc/php5/fpm/php.ini
nano /etc/php5/fpm/php.ini
Procure pela ocorrência da palavra session.save_handler (no nano use o comando CTRL + W para buscar).
Comente a linha session.save_handler = files colocando ponto-e-virgulha (;) antes e depois adicione logo após esta diretiva
session.save_handler = memcache
session.save_path = "tcp://127.0.0.1:11211"
Re-inicie o php5-fpm
service php5-fpm restart
0sem comentários ainda