Alta Performance de  Aplicações PHP com Nginx Thiago Paes – Desenvolvedor Web http://thiagopaes.com.br
Alta performance de aplicações PHP com Nginx Apresentando Nginx (pronunciado "engine x") é um servidor e proxy  reverso HTTP de alta performance, gratuito e open-source,  bem como um servidor proxy para IMAP/POP3. Escrito por  Igor Sysoev em 2005, Nginx agora hospeda entre 1% e 4% de  todos os domínios do mundo, dentre eles, sites de grande  visitação como  WordPress, Hulu, Github, Ohloh, SourceForge  e TorrentReactor. Mesmo ainda em beta, o Nginx é conhecido por sua estabilidade,  rico conjunto de características/facilidades, simples  configuração e baixo consumo de recursos. Fonte:  http://wiki.nginx.org/NginxPtBr
Onde Utilizar Alta performance de aplicações PHP com Nginx Máquinas com poucos recursos Economia $$ Aplicações de pequeno a médio porte Servir conteúdo estático Diversão :)
Instalando apt-get install nginx php5-cgi php5-memcache memcached  wget http://thiagopaes.com.br/src/php-fcgid chmod +x php-fcgid ./php-fcgid start /etc/init.d/nginx restart Alta performance de aplicações PHP com Nginx
Configurando # /etc/nginx/sites-available/default server { listen 80; server_name localhost; location / { root  /var/www; index  index.php index.html index.htm; autoindex on; }  location ~ \.php$ { fastcgi_pass  unix:/tmp/php-cgi.pid; fastcgi_index  index.php;  fastcgi_param  SCRIPT_FILENAME  /var/www/$fastcgi_script_name; include  fastcgi_params;  }  } # /etc/php5/cgi/php.ini ... cgi.fix_pathinfo=1 ... Alta performance de aplicações PHP com Nginx
CakePHP # /etc/nginx/sites-available/default Server{ location / { root  /var/www/app/webroot; index  index.php; autoindex on; if (-f $request_filename) { break; } if (!-f $request_filename) { rewrite ^/(.+)$ /index.php?url=$1 last; break; } } } Alta performance de aplicações PHP com Nginx
Zend Framework #/etc/nginx/sites-available/default Server { location / { root  /var/www; index  index.php; if (!-e $request_filename) { rewrite  ^/(.*)$  /index.php?  last; break; } } } Alta performance de aplicações PHP com Nginx
Proibindo acesso #/etc/nginx/sites-available/default Server { location ~ ^/(conf|templates|logs)/ { deny all; } } Autenticação HTTP #/etc/nginx/sites-available/default Server { location ~ /admin { root /var/www/admin; autoindex on; auth_basic "Restricted"; auth_basic_user_file /var/www/admin/.htpasswd; } } Alta performance de aplicações PHP com Nginx
Economizando banda # /etc/nginx/nginx.conf Http {  gzip on; gzip_min_length  1100; gzip_buffers  4 8k; gzip_disable "MSIE [1-6]\."; gzip_http_version 1.0; gzip_comp_level 6; gzip_proxied any; gzip_types text/plain text/css application/x-javascript text/javascript; output_buffers  1 32k; postpone_output  1460; } # /etc/nginx/sites-available/default Server { location ~ /\.(jpg|jpeg|gif|css|png|js|ico|html)/$ { access_log  off; expires  30d; } } Alta performance de aplicações PHP com Nginx
MemCache Alta performance de aplicações PHP com Nginx $objCache = new Memcache(); $objCache->pconnect('localhost', '11211'); $arrPosts = $objCache->get('posts'); if ($arrPosts === false) { $arrPosts = Twitter::listar('mrprompt', null, 1, 5); $objCache->set('posts', $arrPosts, 0, 600); } foreach($arrPosts as $arrPost) {   echo $arrPost['strPost'] . '<br />'; }
Mais informações
Site  http://nginx.net/

Alta perfomance de aplicações PHP com Nginx

  • 1.
    Alta Performance de Aplicações PHP com Nginx Thiago Paes – Desenvolvedor Web http://thiagopaes.com.br
  • 2.
    Alta performance deaplicações PHP com Nginx Apresentando Nginx (pronunciado &quot;engine x&quot;) é um servidor e proxy reverso HTTP de alta performance, gratuito e open-source, bem como um servidor proxy para IMAP/POP3. Escrito por Igor Sysoev em 2005, Nginx agora hospeda entre 1% e 4% de todos os domínios do mundo, dentre eles, sites de grande visitação como WordPress, Hulu, Github, Ohloh, SourceForge e TorrentReactor. Mesmo ainda em beta, o Nginx é conhecido por sua estabilidade, rico conjunto de características/facilidades, simples configuração e baixo consumo de recursos. Fonte: http://wiki.nginx.org/NginxPtBr
  • 3.
    Onde Utilizar Altaperformance de aplicações PHP com Nginx Máquinas com poucos recursos Economia $$ Aplicações de pequeno a médio porte Servir conteúdo estático Diversão :)
  • 4.
    Instalando apt-get installnginx php5-cgi php5-memcache memcached wget http://thiagopaes.com.br/src/php-fcgid chmod +x php-fcgid ./php-fcgid start /etc/init.d/nginx restart Alta performance de aplicações PHP com Nginx
  • 5.
    Configurando # /etc/nginx/sites-available/defaultserver { listen 80; server_name localhost; location / { root /var/www; index index.php index.html index.htm; autoindex on; } location ~ \.php$ { fastcgi_pass unix:/tmp/php-cgi.pid; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/$fastcgi_script_name; include fastcgi_params; } } # /etc/php5/cgi/php.ini ... cgi.fix_pathinfo=1 ... Alta performance de aplicações PHP com Nginx
  • 6.
    CakePHP # /etc/nginx/sites-available/defaultServer{ location / { root /var/www/app/webroot; index index.php; autoindex on; if (-f $request_filename) { break; } if (!-f $request_filename) { rewrite ^/(.+)$ /index.php?url=$1 last; break; } } } Alta performance de aplicações PHP com Nginx
  • 7.
    Zend Framework #/etc/nginx/sites-available/defaultServer { location / { root /var/www; index index.php; if (!-e $request_filename) { rewrite ^/(.*)$ /index.php? last; break; } } } Alta performance de aplicações PHP com Nginx
  • 8.
    Proibindo acesso #/etc/nginx/sites-available/defaultServer { location ~ ^/(conf|templates|logs)/ { deny all; } } Autenticação HTTP #/etc/nginx/sites-available/default Server { location ~ /admin { root /var/www/admin; autoindex on; auth_basic &quot;Restricted&quot;; auth_basic_user_file /var/www/admin/.htpasswd; } } Alta performance de aplicações PHP com Nginx
  • 9.
    Economizando banda #/etc/nginx/nginx.conf Http { gzip on; gzip_min_length 1100; gzip_buffers 4 8k; gzip_disable &quot;MSIE [1-6]\.&quot;; gzip_http_version 1.0; gzip_comp_level 6; gzip_proxied any; gzip_types text/plain text/css application/x-javascript text/javascript; output_buffers 1 32k; postpone_output 1460; } # /etc/nginx/sites-available/default Server { location ~ /\.(jpg|jpeg|gif|css|png|js|ico|html)/$ { access_log off; expires 30d; } } Alta performance de aplicações PHP com Nginx
  • 10.
    MemCache Alta performancede aplicações PHP com Nginx $objCache = new Memcache(); $objCache->pconnect('localhost', '11211'); $arrPosts = $objCache->get('posts'); if ($arrPosts === false) { $arrPosts = Twitter::listar('mrprompt', null, 1, 5); $objCache->set('posts', $arrPosts, 0, 600); } foreach($arrPosts as $arrPost) { echo $arrPost['strPost'] . '<br />'; }
  • 11.
  • 12.