Gli step per installare Nginx e PHP FPM su Ubuntu Lucid Lynx

di | 3 Agosto 2010

Nginx sta crescendo moltissimo come popolarità ed affidabilità e si sta proponendo come alternativa ad Apache: i dati parlano chiaro, da diversi benchmark effettuati, Nginx risulta essere molto più leggero e veloce del famoso concorrente che a volte è afflitto da memory leak, i quali possono determinare un consumo di memoria rilevante. Se poi Nginx lo utilizzate in coppia con PHP FPM (FastCGI Process Manager), una release di PHP specificamente realizzata per siti ad intenso traffico, allora la differenza con la solita configurazione Apache+PHP diventa sostanziale.

Sappiamo tutti come l’installazione di Nginx sia abbastanza complicata poiché richiedeva la compilazione di diversi moduli, ma adesso possiamo installare questo ottimo http server in abbinamento con PHP FPM, molto rapidamente per mezzo del noto comando apt-get.

Nello specifico vediamo gli step per installare Nginx e PHP FPM su Ubuntu Lucid Lynx:

  1. Iniziamo con l’installazione di Nginx:
    sudo apt-get install nginx
  2. Adesso modifichiamo il file di configurazione di default:
    sudo vim /etc/nginx/sites-available/default

    inserendo questo contenuto:

    server {
        listen   80;
        server_name  localhost;
        access_log  /var/log/nginx/localhost.access.log;
    
    ## Default location
        location / {
            root   /var/www;
            index  index.php;
        }
    
    ## Images and static content is treated different
        location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
          access_log        off;
          expires           30d;
          root /var/www;
        }
    
    ## Parse all .php file in the /var/www directory
        location ~ .php$ {
            fastcgi_split_path_info ^(.+\.php)(.*)$;
            fastcgi_pass   backend;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /var/www$fastcgi_script_name;
            include fastcgi_params;
            fastcgi_param  QUERY_STRING     $query_string;
            fastcgi_param  REQUEST_METHOD   $request_method;
            fastcgi_param  CONTENT_TYPE     $content_type;
            fastcgi_param  CONTENT_LENGTH   $content_length;
            fastcgi_intercept_errors        on;
            fastcgi_ignore_client_abort     off;
            fastcgi_connect_timeout 60;
            fastcgi_send_timeout 180;
            fastcgi_read_timeout 180;
            fastcgi_buffer_size 128k;
            fastcgi_buffers 4 256k;
            fastcgi_busy_buffers_size 256k;
            fastcgi_temp_file_write_size 256k;
        }
    
    ## Disable viewing .htaccess & .htpassword
        location ~ /\.ht {
            deny  all;
        }
    }
    upstream backend {
            server 127.0.0.1:9000;
    }
  3. Prima di installare PHP effettuiamo l’update:
    sudo apt-get update
  4. Adesso procediamo con questo comando per installare PHP:
    sudo apt-get install php5-cli php5-common  php5-suhosin
  5. Per installare PHP-FPM occorre aggiungere prima un repository esterno. Lanciate, nell’ordine,  i seguenti comandi:
    add-apt-repository ppa:brianmercer/php
    sudo apt-get update && sudo apt-get install php5-fpm php5-cgi
  6. Adesso riavviate Nginx per essere certi che tutte le nuove configurazioni siano ricaricate:
    sudo /etc/init.d/nginx restart
  7. Se dovete modificare il php.ini ricordatevi di riavviare anche PHP-FPM:
    sudo /etc/init.d/php5-fpm restart
  8. Per accertarvi del buon funzionamento della configurazione create in /var/www il file index.php con il seguente contenuto:
    <?php phpinfo(); ?>

    Adesso effettuate un test, aprite il browser provate ad accedere alla root del nuovo web server: se tutti i passaggi sono stati effettuati correttamente vedrete la mitica pagina informativa di PHP

Un pensiero su “Gli step per installare Nginx e PHP FPM su Ubuntu Lucid Lynx

  1. Roberto

    “BAD GATEWAY”, è il risultato di queste istruzioni.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.